0

这是我的图片上传页面。我想要的是 lil bit 版。我希望图像名称看起来像(文件夹)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>";
?>

谢谢 :)

4

4 回答 4

1

您可以使用uploadify,因为:

  • 多个文件上传
  • 拖放
  • 实时进度指示器
  • 自定义上传限制
  • 极致定制

和 ...

...$verifyToken = md5('unique_salt' . $_POST['timestamp']);...

演示

于 2012-11-06T16:03:22.017 回答
1

假设您可以将用户 ID 放入名为 $userId 的变量中,您可以按照之前的建议更改 $n 变量。

$timestamp = time();
$n = "image/$userId_$timestamp.$ext";

当您执行 move_uploaded_file() 方法时,文件将被移动到相对于您的上传脚本位置的图像目录中。您可能需要确保图像文件夹已经存在并且是可写的。

于 2012-11-06T16:07:22.157 回答
1

您可以拥有文件名,然后可以将其附加到uniqid("{$filename}_"). 所以输出会是这样的filename_4b3403665fea6,然后你可以添加扩展名:)

这里的文档:http: //uk.php.net/manual/en/function.uniqid.php

编辑:我很抱歉,我误读了你的问题。

于 2012-11-06T15:54:20.077 回答
1

只是改变$n。由于您始终将其设置为,因此"image.$ext"您将始终获得相同的文件名。

相反,您需要将其命名为您想要的名称。类似的东西$userid."_".time().".".$ext,假设用户的 ID 在$userid.

于 2012-11-06T15:57:23.060 回答