这是我的代码: 我需要在照片上传时给出一个随机的名字,但我不知道如何,请帮忙。
<?php
if (isset($_POST['submit'])) {
$validextensions = array("jpeg", "jpg", "png");
$temporary = explode(".", $_FILES["file"]["name"]);
$file_extension = end($temporary);
if ((($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/jpeg")
) && ($_FILES["file"]["size"] < 1000000000000000000000000000000000000000000000000000000)//Approx. 100kb files can be uploaded.
&& in_array($file_extension, $validextensions)) {
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br/><br/>";
} else {
echo "<span>Vasa Slika je uspesno prikacena...!!</span><br/>";
echo "<br/><b>Ime od vasa slika:</b> " . $_FILES["file"]["name"] . "<br>";
echo "<b>Tip:</b> " . $_FILES["file"]["type"] . "<br>";
echo "<b>Velicina:</b> " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
if (file_exists("upload/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " <b>vec postoji.</b> ";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
$imgFullpath = "http://".$_SERVER['SERVER_NAME'].dirname($_SERVER["REQUEST_URI"].'?').'/'. "upload/" . $_FILES["file"]["name"];
echo "<b>Link ka vasu sliku:</b><a href = '$imgFullpath' target='_blank'> " .$imgFullpath.'<a>';
}
}
} else {
echo "<span>***Niste odabrali sliku !!!***<span>";
}
}
?>
问题是:如何在上传图片时给出一个独特的随机名称?正如小说所说的那样。
感谢。
答案 0 :(得分:0)
首先,请阅读:https://stackoverflow.com/a/2562877/2266583
然后记住这些信息:
echo md5($path_parts['filename'] . time()) . $path_parts['extension']
答案 1 :(得分:0)
你应该首先创建一个随机字符:
$random_chars = sha1(time().uniqid());
然后附加文件扩展名:
$new_filename = $random_chars.'.'.$your_extention;
最后:
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $new_filename);