警告:无法打开流和警告:无法移动move_uploaded_file()

时间:2014-10-04 09:06:42

标签: php

HTML文件:

<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(C:\ tmpp \ htdocs \ ShowYourTalent / 1.gif):无法打开流:参数无效

警告: move_uploaded_file():无法将'C:\ xampp \ tmp \ phpDE21.tmp'移动到'C:\ tmpp \ htdocs \ syt / 1.gif'

1 个答案:

答案 0 :(得分: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']}"))