Ошибка PHP move_uploaded_file - PullRequest
       28

Ошибка PHP move_uploaded_file

1 голос
/ 04 июля 2011

работает на localhost win7 xampp , этот код выдает ошибку

$source = $_FILES['fupload']['tmp_name'];
$upload_dir = "invform/upload/";
 if (file_exists($upload_dir) && is_writable($upload_dir)) {
       move_uploaded_file( $source, $upload_dir ) or die ("Couldn't copy");
  }
  else {
        die ('Upload directory is not writable, or does not exist.');
  }

ошибка Couldn't copy означает, что каталог доступен для записи

$source это: D:\\xampp\\tmp\\phpFB1.tmp

в чем проблема?

Ответы [ 3 ]

4 голосов
/ 04 июля 2011

Попробуйте, вы пропустили имя файла в целевой директории

    $source = $_FILES['fupload']['tmp_name'];
    $upload_dir = "invform/upload/";
     if (file_exists($upload_dir) && is_writable($upload_dir)) {
           move_uploaded_file( $source, $upload_dir.$_FILES['fupload']["name"]  ) or die ("Couldn't copy");
      }
      else {
            die ('Upload directory is not writable, or does not exist.');
      }
4 голосов
/ 04 июля 2011

Адресом файла move_uploaded_file должно быть имя файла :

$source = $_FILES['fpupload']['tmp_name'];
$upload_dir = "invform/upload/";
$dest = $upload_dir.$source; // gives: invform/upload/phpFB1.tmp

Проверьте move_uploaded_file в руководстве.

2 голосов
/ 04 июля 2011

Попробуйте проверить запись $_FILES['fupload']['error'] для http://php.net/manual/en/features.file-upload.errors.php move_uploaded_file(). Может произойти сбой по причинам, отличным от недоступного для записи каталога назначения (т. Е. Если форма не имеет правильного атрибута enctype, файл не будетбыть загруженным правильно)

...