Hirdetés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz Tele von Zsinór #3058 üzenetére

    lezso6, cucka, Tele von Zsinór: nagyon köszönöm mindannyiotok hozzászólását, sokat segítettetek! :R
    Végül is maradtam a Tele von Zsinór által ajánlott getimagesize () függvénynél, ez bizonyult a lehető legegyszerűbb megoldásnak, mivel a lehető legtöbb képtípust támogatja. :K
    Ha esetleg több olyan képtípus is felmerül, amit nem szeretnék, hogy feltöltsenek, akkor a lezso6 által ajánlott if (in_array(...) ) megoldást fogom választani, az is nagyon kézenfekvő.
    cucka, abban pedig tökéletesen igazad van, hogy inkább azt engedjem, amit feltölthetnek, ne azt tiltsam, amiből többszáz típus van, először nem is tudom, ezt hogy gondoltam... :B :DDD
    Ezt viszont már több helyen is olvastam, amit írtál, de nem értem az okát:
    "Harmadrészt a mime típust a kliens küldi, tehát megbízhatatlan."
    Miért olvas ki a fájlból esetlegesen rossz információt? :F

    ___________________

    Végül egyébként sikerült megoldani azt is, hogy ha létezik a fájl, akkor tegye mögé az alsóvonás utáni számot, attól függően, hogy hányszor létezik hasonló nevű fájl, tehát az volt a végső megoldás, hogy közvetlenül a move_uploaded_file függvény elé tettem egy ellenőrzést:

    $target_dir = "upload/";
    $target = $target_dir . basename( $_FILES['uploaded']['name']);
    $fajlnev = $_FILES['uploaded']['name'];
    // bla-bla... utána:
    //Létezik már azonos nevű?

    if (file_exists($target))
    {
    $file = $target;
    $name = substr($file, 0, strrpos($file, '.')); // kiterjesztés levágása
    $i = 1;
    while(file_exists($file))
    {
    $i++;
    $file = $name . '_' . $i . '.' .$path_parts['extension'];
    }
    echo 'A fájl neve korábban már szerepelt! Összerakott fájl neve: '.$file.'<br /><br />';
    $target = $file; //hogy ne az eredeti elérési út maradjon, hanem az új névvel mentse el a fájlt a move_uploaded_file fv.-ben is
    $fajlnev = substr($target, (strrpos($target, '/')+1));
    // hogy utóbbi változók is az új célhelyre mutassanak a move_uploaded_file fv.-ben
    }

    //eddig tart az ellenőrzés;

    if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
    {
    // bla-bla...
    }

    _________________________________

    Itt (Google Cache által elmentve) pedig találtam egy tömböt, melyben a legtöbb, a böngésző vagy a szerver által kérdésesen támogatott vagy megjeleníthető ékezetes vagy egyéb karakter megtalálható - ez alapján szeretném kicserélni a feltöltendő fájl nevében szereplő esetleges hasonló karaktereket, na meg a szóközt!
    Ilyesmi módon oldjam meg, ahogy itt látható, vagy a preg_replace() függvénnyel, vagy utóbbinak ehhez semmi köze? :D

    [ Szerkesztve ]

    Sk8erPeter

Új hozzászólás Aktív témák