我想重命名上传的文件。名称应该是随机唯一编号。
这是我的上传脚本:
<?php
if(isset($_POST["submit"])){
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if(!($check == false)){
if(file_exists($target_file)){
$meldung = "Der Bildname exestiert bereits.";
}
if($_FILES["fileToUpload"]["size"] > 5242880){ /*Bytes*/
$meldung = $meldung . "Das Bild ist zu groß.";
}
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "JPG" && $imageFileType != "PNG" && $imageFileType != "JPEG") {
$meldung = $meldung . "Ungültiges Format.";
}
if(!(empty($meldung))){
$meldung = $meldung . "Die Datei wurde nicht hochgeladen.";
}
else{
if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$picturename = $_FILES["fileToUpload"]["name"];
$pictureheightwidth = $check[3];
$picturepath = $target_file;
$eintrag = "INSERT INTO bilder (bild_name, bild_werte, bild_pfad) VALUES ('$picturename', '$pictureheightwidth', '$picturepath')";
$eintragen = mysqli_query($db, $eintrag);
$meldung = "Das Bild wurde erfolgreich hochgeladen";
}
else{
$meldung = $meldung . "Fehler beim hochladen des Bildes.";
}
}
}
else{
echo "Die Datei ist kein Bild.";
}
}
echo $meldung;
?>
<form action="index.php?content=upload" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<br>
<input type="submit" value="Hochladen" class="button-submit" name="submit">
</form>
&#13;
............................................... .................................................. .................................................. .................................................. ....................
答案 0 :(得分:0)
您正在寻找uniqid()
功能:
$pictureame = uniqid(rand(), true);
它会生成这样一个“随机”ID,但同时也要注意另一个文件尚未使用该唯一名称。没有它你就会冒碰撞的风险。乍一看不太可能,但这只是缩放问题: - )
查看文档:{{3}}
答案 1 :(得分:0)
这可以为您提供有关如何重命名文件的线索