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
}