2012-06-15 3 views
2

HTMLPHP Загрузка файла Ошибка

<form enctype="multipart/form-data" id="SubmitForm" method="post" action="serv.php"> 
    <input type="file" name="IMG" size="chars"> 
    <input type="Submit" value="SAVE"> 
</form> 

PHP

$target = 'upload/'; 
$target = $target . basename($_FILES['IMG']['name']); 
if (move_uploaded_file($_FILES['IMG']['tmp_name'], $target)) {   //line 66 
    echo 'File uploaded successfully'; 
} else { 
    echo 'Sorry, there was a problem uploading file' 
} 

ПРОБЛЕМЫ

Предупреждение: move_uploaded_file (upload/image.jpg) [function.move-uploaded-file]: не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ test \ include \ pages \ editor \ ged.php on линия

Предупреждение: move_uploaded_file() [function.move загруженным-файл]: Невозможно переместить 'C: \ XAMPP \ TMP \ php5E.tmp' до 'загрузки/image.jpg' в C: \ XAMPP \ HTDOCS \ тест \ Include \ страницы \ редактор \ ged.php на линии

Извините, возникла проблема с загрузкой файла

Я добавил проверку существования файла, и он прошел, доказав, что файл существует. Я считаю, что проблема лежит где-то внутри кода PHP, который я указал здесь.

Кроме того, я использовал аналогичный код для более раннего скрипта, и он сработал. Я ожидал, что это ничем не отличается. Я начинаю думать, что проблема связана с тем, как обрабатывается временный файл? Я не знаю, вот почему я здесь.

Извините, если эта нить является клоном, но все или любые предыдущие потоки с похожим именем предоставили решения, которые не оказались полезными для меня (в моем сценарии).

Любая помощь или совет очень ценится. Где я иду не так? И как это можно исправить?

+0

'' upload/'существуют? Вы имеете в виду './Upload /' –

+0

Есть ли 'C: \ xampp \ htdocs \ test \ include \ pages \ editor \ upload' существуют? –

+0

Да, да. И да. –

ответ

2

По-видимому, у нас есть два файла PHP, serv.php и ged.php, и похоже, что они расположены в разных каталогах. Если вы используете относительные пути в таком макете, путь интерпретируется по умолчанию как относительно основного места сценария, то есть serv.php. Таким образом, вы хотите:

C:\xampp\htdocs\test\include\pages\editor\upload 

... но возможно, что PHP ищет, например. это:

C:\xampp\htdocs\test\upload 

Простейшим решением является использование абсолютных путей.

+0

Спасибо. Для папки загрузки требуется, чтобы я поместил ее в ту же директорию, что и serv.php. –

1

Загрузка $target относится к C:\xampp\htdocs\test\include\pages\editor\upload\. Похоже, что эта папка не существует или не имеет разрешений на запись.

+0

Ну, я уверен, что он существует. И я не вижу причин, почему это должно быть защищено от записи. –

+0

Попробуйте изменить '' upload/"' на '" upload \ "'. У Windows могут быть проблемы с неправильным Разделителем каталогов. –

+0

Кроме того, попробуйте изменить абсолютный путь. Файл 'upload' может быть релятивистским к' serv.php', если 'serv.php' включает' ged.php' –

1

Извините за мой английский; o) Ошибка в файле include. Но каталог «upload» должен находиться в том же каталоге с файлом serv.php, если вы включите ged.php в serv.php.

htdocs/.../ - 
    upload - dir 
    serv.php - file 
    ... other files and directories 
+0

Спасибо. Для папки загрузки требуется, чтобы я поместил ее в ту же директорию, что и serv.php. –

Смежные вопросы