我已经制作了一个用php
实现的图片上传脚本,在上传图片时可以成功上传,但现在如果用户再次上传相同的个人资料图片,我希望能够将其随机更名。我使用了rand(1,100000)来实现这一功能,但是遇到错误。
我的脚本如下:
<?php
$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
if (file_exists($target_file)) {
$_FILES['file']['name']=rand(1,100000).$_FILES['file']['name'];
$uploadOk = 0;
}
if ($_FILES["fileToUpload"]["size"] > 600000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
if (is_file($target_file))
{
echo "Successful<BR/>";
echo "File Name :".$_FILES['fileToUpload']['name']."<BR/>";
echo "File Size :".$_FILES['fileToUpload']['size']."<BR/>";
echo "File Type :".$_FILES['fileToUpload']['type']."<BR/>";
echo "<img src=\"$target_file\" width=\"150\" height=\"150\">";
}
}
?>
![在此输入图片描述](https://istack.dev59.com/PC27U.webp)
echo $target_file;
命令,并告诉我输出结果。我想知道为什么数字在上传前会添加88627upload
。 - Archish