Я пытаюсь загрузить файл с использованием HTML-формы и php, код выглядит следующим образом:
$targetPictureLocation = "/files/images/team/" . strtolower(str_replace(" ","", $_POST['name'])) . ".png";
move_uploaded_file($_FILES['file']['tmp_name'], $targetPictureLocation);
Теперь я считаю, что $targetPictureLocation
refrences www.domain.com/targetpath/
, потому что есть слэш Infront файлов. Это правильно? Если это так, то каталог существует, но я получаю следующие ошибки:
Warning: move_uploaded_file(/files/images/team/foobar.png) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/content/08/11798508/html/domainname/files/scripts/userManagement.php on line 259
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpwzO4X7' to '/files/images/team/foobar.png' in /home/content/08/11798508/html/domainname/files/scripts/userManagement.php on line 259
Что я делаю не так?
огромное спасибо
Пытаться:
$targetPictureLocation = $_SERVER['DOCUMENT_ROOT']."/domainname/files/images/team/" . strtolower(str_replace(" ","", $_POST['name'])) . ".png";'
Вы добавляете только относительный путь, который указывает PHP на:
/Главная/Содержание /08/11798508/html/имя_домена/файлы/скрипты/файлы/изображения/команда/
который является неправильным местом. PHP $_SERVER['DOCUMENT_ROOT']
вернет URL-адрес базового каталога скриптов. Поскольку папка, которую вы хотите загрузить, находится в родительской папке. Вы должны использовать $_SERVER['DOCUMENT_ROOT']
и местоположение будет:
/Главная/Содержание /08/11798508/html/имя_домена/файлов/изображений/команда/
$_SERVER['DOCUMENT_ROOT']."/domainname/files/images/team/" . strtolower(str_replace(" ","", $_POST['name'])) . ".png";
в$tartgetPictureLocation
domainname
как показано в исходных ошибках