用PHP上传一个文件

用PHP上传一个文件,php,upload,photo,Php,Upload,Photo,HTML表单 <form name="nv" method="post" action="#" enctype="multipart/form-data"> <table> <tr> <td>Photo:</td> <td><input name="photo" type="file" size="58"></td> </tr> <tr> <td><inp

HTML表单

<form name="nv" method="post" action="#" enctype="multipart/form-data">
<table>
<tr>
<td>Photo:</td>
<td><input name="photo" type="file" size="58"></td>
</tr>


<tr>
<td><input name="res" type="reset" value="reset"></td>
<td><input name="sub" type="submit" value="s'enregistrer"></td>
</tr>
</table>
</form>

照片:
PHP

$file_result=”“;
如果($_文件[“照片”][“错误”]>0){
$file_result=“ILY y a un error lors de la telechargement de la photo,错误:
。”$\u FILES[“photo”][“error”]; }否则{ $path=“C:\\ProgramFiles(x86)\\EasyPHP-5.3.9\\www\\2011pr\photos\\”; 移动上传的文件($文件[“照片”][“名称”],$路径); $file\u result=$\u FILES[“photo”][“name”]“est bien telecharge a dans le serveur”; } 回声“
”$文件_结果。“
”;
它给了我这个错误:

警告:移动上传的文件()[函数.移动上传的文件]:文件 copy()函数的第二个参数不能是C:\Program中的目录 文件(x86)\EasyPHP-5.3.9\www\2011pr\nouveau.php,第129行

警告:移动上传的文件()[函数.移动上传的文件]:无法 将“C:\Program Files(x86)\EasyPHP-5.3.9\tmp\phpF33.tmp”移动到 中的“C:\Program Files(x86)\EasyHP-5.3.9\www\2011pr\photos\” C:\ProgramFiles(x86)\EasyPHP-5.3.9\www\2011pr\nouveau.php联机 129

move\u uploaded\u file()
需要目标文件名,您只是提供了一个路径。e、 g

move_uploaded_file($foo, '/some/directory/'); // illegal
move_uploaded_file($foo, '/some/directory/kittens.jpg'); // valid - specifying a filename.

换句话说,RTFError。。PHP准确地告诉了您问题所在。

答案在您的警告中:

copy()函数的第二个参数不能是中的目录 C:\ProgramFiles(x86)\EasyPHP-5.3.9\www\2011pr\nouveau.php联机 129


实际上,请尝试其他目录。无论如何,在程序文件中编写代码不是一个好主意。在Documents文件夹中或username文件夹下创建一个目录。

如错误所示,
move\u uploaded\u file()
的第二个参数应该是文件本身的完整路径-包括新文件名


请参见此处

移动上传的文件()的第二个参数需要文件路径,而不是文件夹路径。因此,你需要改变

move_uploaded_file($_FILES["photo"]["name"],$path);


另外,
$\u FILES[“photo”][“name”]
是类似于
picture.jpg的文件名<代码>$\u文件[“照片”][“tmp\u名称”]
是临时文件。

只需读取错误消息。。。
move_uploaded_file($_FILES["photo"]["name"],$path);
move_uploaded_file($_FILES["photo"]["tmp_name"],$path.$yourNewFilename);