képfeltöltő,
Üdv!
Csináltunk suliba egy kép feltöltőt használnám is a weblabomon jól működik csak egy apróság van, hogy lehet azt kivédeni hogy ha én felrakok egy képet akkor azt más ugyanazzal a fájl névvel,ne tudjon felrakni (így ne tudja az ő képit cserélni)?Köszönöm előre is!
■ Csináltunk suliba egy kép feltöltőt használnám is a weblabomon jól működik csak egy apróság van, hogy lehet azt kivédeni hogy ha én felrakok egy képet akkor azt más ugyanazzal a fájl névvel,ne tudjon felrakni (így ne tudja az ő képit cserélni)?
- <html>
- <body bgcolor="336699"><font color="ffffff">
- <form method="POST" enctype="multipart/form-data">
- <input type="file" name="kep" />
- <input type="Submit" name="submit" value="Feltöltés">
- </form>
- <?php
- function removeaccent($str){
- $search = array("á", "é", "í", "ó", "ö", "ő", "ú", "ü", "ű", " ");
- $replace = array("a", "e", "i", "o", "o", "o", "u", "u", "u", "_");
- return str_replace($search, $replace, $str);
- }
- $types = array("jpg", "jpeg", "gif", "png"); // engedélyezett kiterjesztések
- $maxsize = 3145728; // maximális méret (1 MB)1048576
- $target = "upload"; // végleges hely
- // feltöltés ellenőrzése
- if ($_FILES["kep"]["name"] == ""){
- print "Nem töltöttél fel képet!";
- echo('<br>');
- }
- else{
- $upload = true;
- $name = removeaccent($_FILES["kep"]["name"]);
- // kiterjesztés ellenőrzése
- $ext = strtolower(array_pop(explode(".", $name)));
- if (!in_array($ext, $types)){
- print "Csak kép tölthető fel!";
- $upload = false;
- }
- // méret ellenőrzése
- if ($_FILES["kep"]["size"] > $maxsize){
- print "Túl nagy a fájl mérete!";
- $upload = false;
- }
- // áthelyezés
- if ($upload){
- move_uploaded_file($_FILES["kep"]["tmp_name"], $target."/".$name);
- }
- }
- print("Név: ").($name).('<br>');
- print("Méret: ").($_FILES[kep][size]).('<br>');
- print("Típus: ").($_FILES[kep][type]).('<br>');
- echo("<a href=$target/$name><input type=button value=Megtekint></a>");
- ?>
- </font></body></html>
Ellenőrizni
file_exists
rendben köszönöm, de esetleg
Köszönöm előre is!
Ha kódot most nem is,
Az említett file_exists fv-el azt a
$target."/".$name
fájlnevet ellenőrizd, ami az átmozgatás célja. Ha létezik (true), dobj hasonló hibaüzit, mint az előtte levő ellenőrzésekkor.Ékezetes karakterek cseréje: ha biztosra akarsz menni (ugye igen!), akkor jobb megoldás a megengedett karaktereket tenni egy tömbbe, a feltöltött fájlnéven végigiterálsz karakterenként, és ami nincs a megengedett tömbben, azt kicseréled vmire vagy törlöd. (Vagy, ha rövidpórázt adsz csak a Júzernek, akkor visszadobod hibaüzivel, de ez nem felhasználóbarát.)
Szerintem mindig adj hozzá
Ettől függetlenül a bejelentkezett tagok számára létezhet saját könyvtár, oda csak ők tölthetnek fel és ami abban van azt felülírhatják. De ez gondolom egy későbbi bővítés lenne.
A removeaccent() függvény lehet kissé naiv meg kissé hiányos.
Ékezetmentesítés (és egyéb különleges karakterek)
nálunk így szokás
Kurta
strtolower
esetleg).thnx
Köszönöm a válaszokat és a
Kicsit megkésve de sajnos weblapot kellet költöztetni ami nem kis munka.