这是我的图片上传页面。我想要的是小位版。我希望图像名称看起来像(文件夹)image / userid_time.jpg
所以我想将图片上传到图片文件夹,
我希望所有图片都有新名称,或者我们可以说出唯一名称。
请加上任何意见。
<?php // upload2.php
echo <<<_END
<html><head><title>PHP Form Upload</title></head><body>
<form method='post' action='upload2.php' enctype='multipart/form-data'>
Select a JPG, GIF, PNG or TIF File:
<input type='file' name='filename' size='10' />
<input type='submit' value='Upload' /></form>
_END;
if ($_FILES) {
$name = $_FILES['filename']['name'];
switch ($_FILES['filename']['type']) {
case 'image/jpeg':
$ext = 'jpg';
break;
case 'image/gif':
$ext = 'gif';
break;
case 'image/png':
$ext = 'png';
break;
case 'image/tiff':
$ext = 'tif';
break;
default:
$ext = '';
break;
}
if ($ext) {
$n = "image.$ext";
move_uploaded_file($_FILES['filename']['tmp_name'], $n);
echo "Uploaded image '$name' as '$n':<br />";
echo "<img src='$n' />";
} else
echo "'$name' is not an accepted image file";
} else
echo "No image has been uploaded";
echo "</body></html>";
?>
谢谢:)
答案 0 :(得分:1)
您可以拥有文件名,然后可以使用uniqid("{$filename}_")
附加它。因此输出类似于filename_4b3403665fea6
,然后您可以添加扩展名:)
答案 1 :(得分:1)
只需更改$n
即可。由于您始终将其设置为"image.$ext"
,因此您将始终获得相同的文件名。
相反,您需要根据需要命名。假设用户的ID在$userid."_".time().".".$ext
。
$userid
之类的内容
答案 2 :(得分:1)
您可以使用uploadify,因为:
和......
...$verifyToken = md5('unique_salt' . $_POST['timestamp']);...
请参阅demo
答案 3 :(得分:1)
假设您可以将用户ID转换为名为$ userId的变量,您可以像之前建议的那样更改$ n变量。
$timestamp = time();
$n = "image/$userId_$timestamp.$ext";
执行move_uploaded_file()方法时,文件将移动到相对于上传脚本位置的图像目录。您可能希望确保图像文件夹已存在且可写。