2014-10-04 4 views
1

HTML файл:предупреждение: не удалось открыть поток и предупреждение: не может двигаться в move_upload_file()

<input type="file" name="photo" size="300" accept="image/*" id="photo"/> 

PHP часть:

if (move_uploaded_file ($_FILES['photo'] ['tmp_name'], 
     "C:\xampp\htdocs\ShowYourTalent/{$_FILES['photo'] ['name']}")) 

Когда я запускаю этот код, я получаю следующие ошибки:

Предупреждение: move_uploaded_file (с: MPP \ HTDOCS \ ShowYourTalent/1.gif): не удалось открыть поток: неверный аргумент

Предупреждение: move_uploaded_file(): Не удается переместить 'C: \ XAMPP \ TMP \ phpDE21.tmp' в 'C: MPP \ HTDOCS \ сыть/1.gif'

+0

Disha у вас есть проблемы в запросе, так как я прочитал ваш комментарий ниже, это предложить мне что вы эхо результат, не получая его. Спасибо –

ответ

0

Это происходит потому, что вы используете двойные кавычки и обратные косые черты в названии пути. Это делает PHP интерпретации последовательности:

"\xa" 

.. начало xampp, как шестнадцатеричное представление xA (10 в десятичной системе). Символ 10 представляет новую строку в ASCII, которая недопустима в имени пути Windows. Вот почему вы получаете предупреждения.

Решение:

Используйте прямые косые черты, PHP будет переводить их на собственные пути Windows:

if (move_uploaded_file ($_FILES['photo'] ['tmp_name'], 
     "C:/xampp/htdocs/ShowYourTalent/{$_FILES['photo'] ['name']}")) 
+0

Предупреждение было решено этим. Он также показывает, что данные вставлены успешно .. Но он не отображается в таблице базы данных (phpmyadmin). В нем показано следующее сообщение: Файл успешно загружен База данных Найден ресурс id # 3 Данные, вставленные успешно – Disha

+0

Вам нужно будет создать отдельный вопрос по этой проблеме. Поскольку это не связано с загрузкой, а с кодом базы данных. – hek2mgl

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