Autor Zpráva
Yuff.3
Profil
Ahojte,
našiel som toto: http://www.desart.sk/clanok/105/upload-obrazku-v-php A pokúšal som sa to upraviť, aby sa dali uploadovať len súbory s koncovkou .cfg , ale uploaduje mi to stále aj .png (a iné) - okrem toho mi ešte nemení názov.. :(
Je tu niekto čo by mi vytvoril podobný upload systém, ale hlavne funkčný, prosím.. :)
Fisir
Profil
Reaguji na Yuff.3:
pokúšal som sa to upraviť
Tak ukaž tebou upravený kód, třeba zjistíme, co jsi upravil špatně.
Yuff.3
Profil
No možno som ho upravil až moc :D
Nesmej sa, pridám ho sem :D

if (isset($_GET['page']) && $_GET['page'] == "cfg") {


if (!empty($_POST)) {


    $adresar = "upload/cfg/"; //Adresář, kam se bodou obrázky nahrávat       
    $koncovky = array(".cfg"); //Povolené koncovky obrázků
    $maxvelikost = 102400; //Maximální velikost obárzku, uvádějte v bajtech, aktuálně 100 kB
    $menit_nazev = true; //Mudeme měnit název obrázku po uploadu? Zamezí přepisování


    $typ = $_FILES['obrazek']['type'];
    $nazev = $_FILES['obrazek']['name'];
    $velikost = $_FILES['obrazek']['size'];
    $tmp = $_FILES['obrazek']['tmp_name'];
    $ext = strrchr($nazev,'.'); //Oddělíme název od tečky
    $ext = strtolower($ext); //Uložíme koncovku do proměnné



    if(!is_uploaded_file($tmp)){
        echo 'Zvoľte súbor, ktorý chcete nahrať!';
    }elseif ((!in_array($ext, $koncovky))) { //Nemá povolenou koncovku
        echo 'Config nemá povolenou koncovku!';
    }elseif ($velikost>$maxvelikost){ //Má větší než povolenou velikost
        echo 'Config je příliš veliký!';
    }else { //Prošel kontrolou
        if ($menit_nazev===true){
      $od = 50;
      $do = 150;
            $nazev = rand($od, $do);  //Vygenerování náhodného názvu
        }
    }

    $cesta = $adresar.$nazev.$ext;


      move_uploaded_file ($tmp, $cesta);
    $hotovo = 1;

    if ($hotovo == 1){
        echo "Config se úspěšně podařilo nahrát." .$cesta ;
    }

}

    ?>
    <form action="http://4funportal.eu/cs/4funprofil.php?uzivatel=1&page=cfg" method="post"><strong>Vyberte súbor:</strong>
<input name="obrazek" type="file" /><br />

<input name="odeslat" type="submit" value="Nahraj" />&nbsp;</form>
    <?
    
    }
Virtus
Profil
Zdravím, v tom kódu je špatně zárvorka (vyznačený tučně):
if(!is_uploaded_file($tmp)){
        echo 'Zvoľte súbor, ktorý chcete nahrať!';
    }elseif ((!in_array($ext, $koncovky))) { //Nemá povolenou koncovku
        echo 'Config nemá povolenou koncovku!';
    }elseif ($velikost>$maxvelikost){ //Má větší než povolenou velikost
        echo 'Config je příliš veliký!';
    }else { //Prošel kontrolou
        if ($menit_nazev===true){
      $od = 50;
      $do = 150;
            $nazev = rand($od, $do);  //Vygenerování náhodného názvu
        }
    //} --nemá být tady ale o kus níže
 
    $cesta = $adresar.$nazev.$ext;
 
 
      move_uploaded_file ($tmp, $cesta);
    $hotovo = 1;
 
    if ($hotovo == 1){
        echo "Config se úspěšně podařilo nahrát." .$cesta ;
    }
}
a co se týče změny názvu, tak sem tam chybu nenašel, mělo by to podle mně ten název změnit na nějaký "náhodný" číslo od 50 do 150
Yuff.3
Profil
No po zmene zátvorky ako si písal, mi vypíše zvolte súbor ktorý chcete nahrať - nič do zložky nepridá, proste to nefunguje.

A názov nezmení.
Davex
Profil
Yuff.3:
Proč tam máš podmínku, že pole $_POST nesmí být prázdné? Nebylo by lepší kontrolovat, že je připraven obrázek v poli $_FILES?

Proč jsi u formuláře vynechal atribut enctype="multipart/form-data"?
Yuff.3
Profil
Neviem :( Môžeš mi prosím ťa napísať ako by to celé malo vyzerať? Pretože som už skúšal všetko čo ma napadlo a nijako mi to nejde tak ako chcem.. :(

Moc krát ďakujem, ak si nájdeš pre mňa tú chvíľku.. :)
Kubo2
Profil
Yuff.3:
Pretože som už skúšal všetko čo ma napadlo a nijako mi to nejde tak ako chcem.
Tak sem uveď to, čo ti z tvojich pokusov vzišlo, nech vieme zistiť kde máš chybu.
Yuff.3
Profil
Kubo2:
Už som sem pridal - príspevok #3
Nakonec som to všetko zmazal, pretože mi logicky nesedelo kde by mohla byť chyba.. - stále mi to nefungovalo ako som chcel :( Hlavne mi nemenilo názov a išlo uploadnúť aj iné koncovky alebo neupoadlo nič a pod..

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: