Autor Zpráva
bazz
Profil
ahoj u uploadu jednoho souboru mi to jde ale u multiuploadu to ne a ne rozject, asi tam bude nějaká drobnost

<?php
$count = 0;
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
    foreach ($_FILES['files']['name'] as $i => $name) {
        if (StrTr($name, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz")){
        if (strlen($_FILES['files']['name'][$i]) > 1) {

            if (move_uploaded_file($_FILES['files']['tmp_name'][$i], 'meixner/'.$name)) {
                $count++;
        }
            }
        }
    }
}
?>
Keeehi
Profil
$name = StrTr($name, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz");
if (!empty(strlen($name))) {
...

Pokud používáš utf-8, tak funkce strtr takto zapsaná nebude správně fungovat. Musíš použít druhý zápis pomocí asociativního pole
strtr($name, array("Á" => "A", "Ä" => "A", ... );
Nebo můžu pro odstranění diakritiky a všech ošklivých znaků doporučit něco pokročilejšího.
bazz
Profil
a má to nějaké výhody krom toho že je to dlouhé?


a píše mi to
Fatal error: Can't use function return value in write context in
bazz
Profil
<?php
$count = 0;
if(isset($_FILES["files"]))
    {
    foreach ($_FILES["files"]["name"] as $i => $name) {
$name = StrTr($name, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz");
            if (move_uploaded_file($_FILES["files"]["tmp_name"][$i], "uploads/".$name)) {
                $count++;
            
        }
    }
}
?>

takhle to funguje, sice tam není kontrola délky Strlen ale s tím mi to pořád vypisovalo chybu, bez toho to funguje jak má
Keeehi
Profil
bazz:
a má to nějaké výhody krom toho že je to dlouhé?
Třeba ty, že to ošetří i znaky na které jsi nepomyslel.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0