В моем случае удаление каталога производных данных не помогло. По-видимому, у меня был файл, заблокированный другим процессом, потому что после закрытия нескольких окон терминала и emacs и завершения процесса реагирования на основе пакета, все было решено.
$move = "/Users/George/Desktop/uploads/".[110] Это один.
move_uploaded_file([110] Это один.
[111] Это два.
Проверьте, доступен ли для записи каталог uploads
Это три.
Возвращаемые значения
Возвращает TRUE в случае успеха.
Если имя файла не является допустимым загружаемым файлом, никаких действий не произойдет, и move_uploaded_file () вернет FALSE.
Если имя файла является допустимым загружаемым файлом, но не может быть перемещено по какой-либо причине, никаких действий не произойдет, и move_uploaded_file () вернет FALSE. Дополнительно будет выдано предупреждение.
Посмотрите на возвращаемое значение функции.
Вот и все.
FILES['file']['tmp_name'], $move);
Это два.
Проверьте, доступен ли для записи каталог uploads
Это три.
Возвращаемые значения
Возвращает TRUE в случае успеха.
Если имя файла не является допустимым загружаемым файлом, никаких действий не произойдет, и move_uploaded_file () вернет FALSE.
Если имя файла является допустимым загружаемым файлом, но не может быть перемещено по какой-либо причине, никаких действий не произойдет, и move_uploaded_file () вернет FALSE. Дополнительно будет выдано предупреждение.
Посмотрите на возвращаемое значение функции.
Вот и все.
FILES['file']['name'];
Это один.
move_uploaded_file([110] Это один.
[111] Это два.
Проверьте, доступен ли для записи каталог uploads
Это три.
Возвращаемые значения
Возвращает TRUE в случае успеха.
Если имя файла не является допустимым загружаемым файлом, никаких действий не произойдет, и move_uploaded_file () вернет FALSE.
Если имя файла является допустимым загружаемым файлом, но не может быть перемещено по какой-либо причине, никаких действий не произойдет, и move_uploaded_file () вернет FALSE. Дополнительно будет выдано предупреждение.
Посмотрите на возвращаемое значение функции.
Вот и все.
FILES['file']['tmp_name'], $move);
Это два.
Проверьте, доступен ли для записи каталог uploads
Это три.
Возвращаемые значения
Возвращает TRUE в случае успеха.
Если имя файла не является допустимым загружаемым файлом, никаких действий не произойдет, и move_uploaded_file () вернет FALSE.
Если имя файла является допустимым загружаемым файлом, но не может быть перемещено по какой-либо причине, никаких действий не произойдет, и move_uploaded_file () вернет FALSE. Дополнительно будет выдано предупреждение.
Посмотрите на возвращаемое значение функции.
Вот и все.
попробуйте это
$ImageName = попробуйте это
[110]FILES['file']['name'];
$fileElementName = 'file';
$path = 'Users/George/Desktop/uploads/';
$location = $path . попробуйте это
[110]FILES['file']['name'];
move_uploaded_file( попробуйте это
[110]FILES['file']['tmp_name'], $location);
Вы не ссылаетесь на временное местоположение , в котором сохранен файл.
Используйте tmp_name
для доступа к файлу.
Вы всегда можете увидеть, что публикуется, используя:
echo "<pre>";
print_r( Вы не ссылаетесь на временное местоположение , в котором сохранен файл.
Используйте tmp_name
для доступа к файлу.
Вы всегда можете увидеть, что публикуется, используя:
[110] Если вы увидите этот массив файлов, у вас будет лучшее понимание и представление о том, что происходит.
FILES);
Если вы увидите этот массив файлов, у вас будет лучшее понимание и представление о том, что происходит.
Попробуйте использовать функцию copy()
вместо move_uploaded_file()
. Он работал для меня.
copy( Попробуйте использовать функцию copy()
вместо move_uploaded_file()
. Он работал для меня.
[110]FILES['file']['tmp_name'], $path);
Возможно, вам нужно предоставить больше разрешений для ваших файлов.
предположим, что ваш код находится в / var / www / my_project
try chmod -R 777 /var/www/my_project
Это рабочий пример.
Форма HTML:
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
Код PHP:
<?php
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename( Это рабочий пример.
Форма HTML:
[110] Код PHP:
[111]FILES['userfile']['name']);
echo "<p>";
if (move_uploaded_file( Это рабочий пример.
Форма HTML:
[110] Код PHP:
[111]FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r( Это рабочий пример.
Форма HTML:
[110] Код PHP:
[111]FILES);
print "</pre>";
?>
Если вы работаете на компьютере с Windows, проблем с загрузкой или записью в указанный путь к папке не возникнет, за исключением синтаксических ошибок.
Но в случае пользователей Linux, есть обходной путь к этой проблеме, даже если нет никаких видимых синтаксических ошибок.
Прежде всего, я предполагаю, что вы используете это в среде Linux, и вам нужно загрузить что-то в папку вашего проекта в публичном каталоге.
Даже если у вас есть права на запись и чтение в папку проекта, конечный пользователь не обрабатывает PHP. Он может обрабатываться www-data
пользователем или группой.
Таким образом, чтобы сделать это www-data
, сначала получите доступ, наберите;
sudo chgrp "www-data" your_project_folder
, как только это будет сделано, если нет доступа на запись и к следующему;
sudo chown g+w your_project_folder
Это поможет добиться успеха в Linux.
Пожалуйста, не то, чтобы это делалось в среде Linux с запущенным phpmyadmin и mysql.
ему должно понравиться это
move_uploaded_file( ему должно понравиться это
[110] И вы не можете переместить его где-либо в вашей системе. Вы можете переместить его только в каталог вашего проекта, который должен быть в htdocs или www, зависит от того, что вы используете wampp, lampp или vertrgo.
FILES['file']['tmp_name'], $move);
И вы не можете переместить его где-либо в вашей системе. Вы можете переместить его только в каталог вашего проекта, который должен быть в htdocs или www, зависит от того, что вы используете wampp, lampp или vertrgo.
Этот ответ запоздал, но он может помочь кому-то, как он помог мне
Просто убедитесь, что вы дали разрешение пользователя для файла назначения
sudo chown -R www-data:www-data /Users/George/Desktop/uploads/
если файлы не перемещаются, это может быть вызвано несколькими причинами
> find * -type d -print0 | xargs -0 chmod 0755 # for directories find * > -type f -print0 | xargs -0 chmod 0666 # for files
chown -R admin:admin public_html # will restore permission to admin for folder and files within it chown admin:admin public_html # will restore permission to admin for folder only will skip files
copy
вместо move_uploaded_file
Файл будет сохранен во временном местоположении, используйте tmp_name вместо name
if (move_uploaded_file( Файл будет сохранен во временном местоположении, используйте tmp_name вместо name
[110]FILES['image']['tmp_name'], __DIR__.'/../../uploads/'. Файл будет сохранен во временном местоположении, используйте tmp_name вместо name
[110]FILES["image"]['name'])) {
echo "Uploaded";
} else {
echo "File was not uploaded";
}