Avatar
Ondřej Pech
Člen
Avatar
Ondřej Pech:

Ahoj, potřebuji přejmenovat nahrávaný soubor. Tipicky přidat timestamp aby byl název unikátní. Používám následující script na zpracování a potřebovla ych poradit, v kterým místě (nebo jakým parametrem můžu změnit výsledný název souboru. Předem moc díky za radu.

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
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;
    }
}
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} 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.";
    }
}
?>
 
Odpovědět 20. března 21:11
Avatar
Ondřej Pech
Člen
Avatar
Ondřej Pech:

Už to mám, je to hned na začátku:

$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);

jen si musím odstranit část řetězce z názvu až po tečku a nazačátek přidat ten timestemp :) ale na to už určitě nějakou funkci najdu ;)

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět 20. března 21:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.