图片上传PHP问题

图片上传PHP问题,php,html,mysql,Php,Html,Mysql,我无法将图像上载到服务器。图像应上传到IteamImages目录,名称的格式应为:$userid_u$date.png 两个问题: 该图像似乎没有显示在目录中 图像名称显示为:upload/Array_20140906072547.png(而不是 上传的文件/4_20140906072547.png) $UserId=$\u POST['UserId']; $uploaddir=“IteamImages/”; $DateLastEdit=$UserID.“u.”日期(“YmdHis”); $da

我无法将图像上载到服务器。图像应上传到IteamImages目录,名称的格式应为:$userid_u$date.png

两个问题:

该图像似乎没有显示在目录中

图像名称显示为:upload/Array_20140906072547.png(而不是 上传的文件/4_20140906072547.png)

$UserId=$\u POST['UserId'];
$uploaddir=“IteamImages/”;
$DateLastEdit=$UserID.“u.”日期(“YmdHis”);
$dateCreates=date(“Y-m-dh:i:s”);
$file=$DateLastEdit。“.png”;
$uploadfile=$uploaddir$文件
如果($\u文件[“文件”][“错误”]>0){
echo“Error:”.$\u文件[“file”][“Error”]。“
”; }否则{ echo“上传:.”文件[“文件”][“名称”]。“
”; echo“Type:”.$\u文件[“file”][“Type”]。“
”; 回显“大小:”($_文件[“文件”][“大小”]/1024)。“kB
”; echo“存储在:“.$\u文件[“文件”].$file; } 如果(文件存在(“上载/”$\u文件[“文件”][“名称”])){ echo$\u文件[“文件”][“名称”]。“已存在。”; }否则{ 移动上传的文件($文件[“文件”]。$文件, “上传/”$_文件[“文件”].$file); echo“存储在:“.”upload/“$\u文件[”文件]。$文件; } mysql_查询(“更新ItemDetails集ItemImage='$file',其中UserID='$UserID'和Id='$last');
这是html表单的一部分:

<form action="manual-item-post.php" method="post" enctype="multipart/form-data">
UserId: <input type="text" name="UserId"><br>
<label for="file">Image Upload:</label><br>
<input type="file" name="file" id="file"><br>
<input type="submit">
</form>

用户标识:
图像上传:

$\u FILES[“file”]
是一个数组,当您连接它时,
echo”存储在:“。“上传/”$_文件[“文件”]。$file
PHP自动将其转换为字符串,从而生成
Array

我想您希望它存储在:“
echo”。“上传/”$档案

此外,您可能需要更改
移动\u上传的\u文件($\u文件[“文件”].$file,“上传/”$\u文件[“文件”].$file)
移动上传的文件($上传文件[“文件”]['tmp\U名称],$uploadfile)
$\u FILES[“file”]['tmp\u name']
是要移动的上载临时文件的路径)

和<代码>$DateLastEdit=$UserID.'.date(“YmdHis”)$DateLastEdit=(int)$UserId.“u.”日期(“YmdHis”);
),因此code>将始终导致“DATE”)


PS:我将$UserId转换为整数,否则目录遍历是可能的(例如,将post
。/../something/
转换为UserId)。通过直接将用户输入的数据传递给SQL查询,您还可以进行SQL注入。

感谢您的详细回答。我解决了两个问题。
<form action="manual-item-post.php" method="post" enctype="multipart/form-data">
UserId: <input type="text" name="UserId"><br>
<label for="file">Image Upload:</label><br>
<input type="file" name="file" id="file"><br>
<input type="submit">
</form>