Uprava W3school upload scriptu – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Uprava W3school upload scriptu – PHP – Fórum – Programujte.comUprava W3school upload scriptu – PHP – Fórum – Programujte.com

 

fix
~ Anonymní uživatel
182 příspěvků
6. 4. 2018   #1
-
0
-

Ahoj,

prosím si o pomoc, už pár hodin se snažím upravit upload script z W3 Schools upravit tak, aby se podle aktuálního datetime() generoval, název suboru při nahrání a bylo by tak možná nahrávat i soubory, jejichž název již na serveru je, aniž by mě otravovala hláška "file is exist!"

$target_dir = "../../uploads/zavady/prilohy/";
$dateTime = date("Ymdhisa");
$target_file = $target_dir . $dateTime . basename($_FILES["fileToUpload"]["name"]);
$target_file = str_replace(" ","_", $target_file);
echo $target_file;
$uploadOk = 1;
$imageFileType = strtolower(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 "Příloha není ve správném tvaru.";
        // $uploadOk = 0;
    // }
//}
// Check if file already exists
if (file_exists($target_file)) {
    echo "Není možné tuto přílohu nahrát na server, jelikož již existuje.";
    $uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 5000000) {
    echo "Soubor nebyl nahrán, jelikož je příliš velký.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Příloha není ve správném formátu.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Soubor není možné nahrát na server.";
// 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.";
		//$soubor = $dateTime .basename( $_FILES["fileToUpload"]["name"]);
        $url = $target_file;
		echo "testtttttttttttttttttttttttttttttttt";echo "<a href=". $url. ">". $url. "</a>";
		//echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Soubor se nepodařilo nahrát, prosím kontaktujte nás.";
    }
}

Podařilo se mi to tak nějak z půlky, nechápu kde je problém při opětovném nahrávání mi to spadne do:

else {
        echo "Soubor se nepodařilo nahrát, prosím kontaktujte nás.";
    }

Kdyby měl někdo nějaký typ, co by to mohlo dělat, prosím dejte vědět.

Děkuji všem za případné rady.

Nahlásit jako SPAM
IP: 92.240.177.–
Kit+15
Guru
7. 4. 2018   #2
-
0
-

#1 fix
Mělo by ti to vyhodit nějaký warning s popisem chyby. Obvykle ten skript nemá dostatečná práva k zápisu do cílového adresáře.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
fix
~ Anonymní uživatel
182 příspěvků
7. 4. 2018   #3
-
0
-

Problém nebyl v samotném uploadu, jelikož jak jsem zmiňoval, problém nastával až v opakovaném uploadu stejného souboru, prvotní upload proběhl bez problémů. Už mi to funguje, ani nevím jak sem si s tím poradil. :-)

Každopádně díky za snahu pomoci.

Nahlásit jako SPAM
IP: 92.240.177.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 42 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý