Функция Move_uploaded_file () не работает

В моем случае удаление каталога производных данных не помогло. По-видимому, у меня был файл, заблокированный другим процессом, потому что после закрытия нескольких окон терминала и emacs и завершения процесса реагирования на основе пакета, все было решено.

29
задан Vikas Arora 21 September 2013 в 05:27
поделиться

11 ответов

$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. Дополнительно будет выдано предупреждение.

Посмотрите на возвращаемое значение функции.

Вот и все.

7
ответ дан Hanky Panky 21 September 2013 в 05:27
поделиться

попробуйте это

$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);
3
ответ дан chirag ode 21 September 2013 в 05:27
поделиться

Вы не ссылаетесь на временное местоположение , в котором сохранен файл.

Используйте tmp_name для доступа к файлу.

Вы всегда можете увидеть, что публикуется, используя:

echo "<pre>"; 
print_r(

Вы не ссылаетесь на временное местоположение , в котором сохранен файл.

Используйте tmp_name для доступа к файлу.

Вы всегда можете увидеть, что публикуется, используя:

[110]

Если вы увидите этот массив файлов, у вас будет лучшее понимание и представление о том, что происходит.

FILES);

Если вы увидите этот массив файлов, у вас будет лучшее понимание и представление о том, что происходит.

3
ответ дан maartencls 21 September 2013 в 05:27
поделиться

Попробуйте использовать функцию copy() вместо move_uploaded_file(). Он работал для меня.

copy(

Попробуйте использовать функцию copy() вместо move_uploaded_file(). Он работал для меня.

[110]FILES['file']['tmp_name'], $path);
16
ответ дан SHAZ 21 September 2013 в 05:27
поделиться

Возможно, вам нужно предоставить больше разрешений для ваших файлов.

предположим, что ваш код находится в / var / www / my_project

try chmod -R 777 /var/www/my_project

4
ответ дан Joe Cheng 21 September 2013 в 05:27
поделиться

Это рабочий пример.

Форма 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>"; ?>
16
ответ дан Shankar Damodaran 21 September 2013 в 05:27
поделиться

Если вы работаете на компьютере с 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.

1
ответ дан Kevin RED 21 September 2013 в 05:27
поделиться

ему должно понравиться это

move_uploaded_file(

ему должно понравиться это

[110]

И вы не можете переместить его где-либо в вашей системе. Вы можете переместить его только в каталог вашего проекта, который должен быть в htdocs или www, зависит от того, что вы используете wampp, lampp или vertrgo.

FILES['file']['tmp_name'], $move);

И вы не можете переместить его где-либо в вашей системе. Вы можете переместить его только в каталог вашего проекта, который должен быть в htdocs или www, зависит от того, что вы используете wampp, lampp или vertrgo.

2
ответ дан Garry 21 September 2013 в 05:27
поделиться

Этот ответ запоздал, но он может помочь кому-то, как он помог мне

Просто убедитесь, что вы дали разрешение пользователя для файла назначения

sudo chown -R www-data:www-data /Users/George/Desktop/uploads/

0
ответ дан Records 21 September 2013 в 05:27
поделиться

если файлы не перемещаются, это может быть вызвано несколькими причинами

  • проверить разрешения на загрузку каталога, убедитесь, что его разрешение не меньше 0755.
> find * -type d -print0 | xargs -0 chmod 0755 # for directories find *
> -type f -print0 | xargs -0 chmod 0666 # for files
  • убедитесь, что вы загрузили владельца каталога & amp; group не является пользователем root, в этом случае ваш сценарий не сможет ничего там записать, поэтому измените его на admin или любого пользователя без полномочий root.
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
  • проверьте каталог tmp, что он доступен для записи или нет, откройте php.ini и проверьте upload_tmp_dir = путь к временному каталогу, убедитесь, что он доступен для записи.
  • попробуйте функцию copy вместо move_uploaded_file
1
ответ дан user889030 21 September 2013 в 05:27
поделиться

Файл будет сохранен во временном местоположении, используйте 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"; }
43
ответ дан T.Todua 21 September 2013 в 05:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: