【问题标题】:Change uploaded file name to current session user_id + time将上传的文件名更改为当前会话 user_id + time
【发布时间】:2015-01-07 12:47:12
【问题描述】:

我正在构建个人资料图片上传器并且有一个问题。我将如何更改上传到当前会话 user_id + 当前日期的文件名。

我的会话变量是 $_SESSION['user_id'];

有没有办法将他们上传的文件 smiling_cat.jpg 重命名为 2_11102014.jpg,同时保持其扩展名?

这是我目前拥有的。

<?php 
if (isset($_POST['submit']))
{
$path = '/home/marketplace/public_html/imgupload/profile_pic/';
$file_exts = array("jpg", "bmp", "jpeg", "gif", "png");
$upload_exts = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2000000)
&& in_array($upload_exts, $file_exts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
// move files to the path
move_uploaded_file($_FILES["file"]["tmp_name"], $path . $_FILES["file"]["name"]);

//echo a bunch of data to use at a later time
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br><hr>";
echo "<div class='sucess'>"."Stored in: " . $path . $_FILES["file"]["name"]."</div>";
echo '<img src="profile_pic/'.$_FILES["file"]["name"].'">';
}
}
else
{
echo "<div class='error'>Invalid file</div>";
}
}
?>

【问题讨论】:

  • 试过什么?我看到的只是“我的会话变量是$_SESSION['user_id'];,但您的代码中没有相关代码。如果有什么失败了,请告诉我们它是什么。
  • 感谢@NikhilAgarwal,还有一个小问题,在我完成表格后,它给出了以下通知:严格标准:只有变量应该在 /home/marketplace/public_html/imgupload 中通过引用传递/index.php 在第 19 行 第 19 行是 $upload_exts = end(explode(".", $_FILES["file"]["name"])); 任何原因会这样做吗?

标签: php file-upload upload rename


【解决方案1】:

你可以这样做:

$ext = explode(".", $_FILES["file"]["name"]);

move_uploaded_file($_FILES["file"]["tmp_name"], $path . "whatever".end($ext));

顺便说一句,你应该检查一下操作

if(!move_uploaded_file($_FILES["file"]["tmp_name"], $path . "whatever".end($ext))){
    //deal with error
}
else{
    //rest of your code
}

【讨论】:

    猜你喜欢
    • 2014-01-03
    • 2015-02-17
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    相关资源
    最近更新 更多