【发布时间】: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