Как загрузить файл с помощью php в родительский каталог - PullRequest
1 голос
/ 11 января 2011

Надеюсь, простой вопрос, у меня есть настольное приложение, которое позволяет пользователю загружать файл на сервер с помощью формы, форма отправляет данные в защищенный файл на сайте, как это.Site_root / protected_folder / myfile.php.Если вы обычно используете команды загрузки php-файлов, вы будете работать в каталоге 'protected_folder', чего я не хочу.

Я хочу добавить материал в файл изображений в корневом каталоге, например, этот Site_root /images /, как бы вы поступили так, не переходя в корень ftp?

Ответы [ 4 ]

3 голосов
/ 11 января 2011

Обычным методом является вызов move_uploaded_file () , где вы устанавливаете целевой путь по своему вкусу. Имя файла в $_FILES['tmp_name'] обычно указывает на временную папку и может быть удалено без предварительного уведомления.

3 голосов
/ 11 января 2011

Вы можете использовать абсолютный путь, например /path/to/images/, или относительный путь, например ../images/

Если вы используете move_uploaded_file, то второй параметр получает каталог, в который вы хотите загрузить. Возможно, поможет показ кода, если это сообщение не помогло.

2 голосов
/ 11 января 2011

move_uploaded_file() будет позволять вам размещать загрузки относительно корневого каталога , если вы просто начнете свой путь с косой черты, как

$newFileDir = '/username/public_html/websiteroot/subdir/yourfile.jpg';
move_uploaded_file($_FILES['postname']['tmp_name'],$newfileDir);
0 голосов
/ 21 февраля 2019

Вы можете просто использовать copy () и двойную точку (../) в пути, чтобы указать корневой каталог для копирования загруженного файла.Я использую то же самое.Возможно, вы захотите изменить имя файла, чтобы в каталоге возникало уникальное имя файла.расширение также будет таким же.//

$filename = stripslashes($_FILES['postname']['name']);
$extension = getExtension($filename);
$newfilename ='photo_your_filename'.time().'.'.$extension;
$newFileDir = '../subdir/'.$newfilename;
copy($_FILES['postname']['tmp_name'],$newfileDir);
...