Php 我想让用户将图片上传到服务器上,但我不知道如何告诉$u文件应该是什么文件名?

Php 我想让用户将图片上传到服务器上,但我不知道如何告诉$u文件应该是什么文件名?,php,mysql,Php,Mysql,这是我尝试使用的上传表单: here $photo_id = $user_name.time() . <form enctype="multipart/form-data" action="upload.php" method="POST"> <input type="file" name"<?php echo md5($photo_id)?>" /> <input type="submit" value="upload"/> &l

这是我尝试使用的上传表单:

 here $photo_id = $user_name.time() .


 <form enctype="multipart/form-data" action="upload.php" method="POST">
 <input type="file"  name"<?php echo md5($photo_id)?>" />
 <input type="submit" value="upload"/>
 </form>
此处$photo\u id=$user\u name.time()。

给文件字段的名称指定一个改变的值是没有意义的

给它一个常量值:

<input type="file"  name="photo" />

如果要建议文件名,请使用单独的隐藏字段:

<input type="hidden" name="filename" value="<?php echo md5($photo_id)?>">

1'再次查看HTML并更正错误

<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="file"  name="photo" />
<input type="submit" value="upload"/>
</form>

提交后2点钟

<?php
     $uploadedFile = $_FILES['photo']['name']; // uploaded file - for db name and md5()
     $tmpName = $_FILES['photo']['tmp_name']; // uploaded tmp file
     // I assume you are not handling users for web form and you are storing them in a session, if you need additional input on form you can add some hidden values.
     $newFile = md5($uploadedFile.time().$_SESSION['user']);
     move_uploaded_file($tmpName, $uploads_dir/$newFile);
?>

您只需要为文件输入使用一个简单的名称:

<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="file"  name"myFile" />
<input type="submit" value="upload"/>
</form>
有更多的信息吗

更新

如果要确保没有覆盖同名文件,请使用
file\u exists()


您还可以使用
file\u exists()
检查同名文件是否已存在。
$tmp_name = $_FILES['myFile']['tmp_name'];
$name = $_FILES['myFile']['name'];
move_uploaded_file($tmp_name, 'uploads/' . $name); // Move file to /uploads folder
if(file_exists($_FILES['myFile']['name']))
{
    // File already exists
}