Kezdőoldal » Számítástechnika » Weblapkészítés » Ebben a kódban hogyan lehetne...

Ebben a kódban hogyan lehetne megoldani, hogy ne tudják felülírni a korábban feltöltött fájlt ha ugyanaz a fájlnév?

Figyelt kérdés

if(isset($_POST['submit'])) { //ha megnyomtuk a feltöltés gombot

$target= "uploads/"; //célmappa Uploads

$file_name = $_FILES['file']['name']; //a célfájlt nevezze el a $_FILES superglobal változóban lévo fájlnévre (a fájl eredeti nevére)

$tmp_dir = $_FILES['file']['tmp_name']; //az ideiglenes mappa helyét a $tmp_dir változóban tároljuk


if(!preg_match('/(gif|jpe?g|png)$/i', $file_name)) //ha a fájlnak ($file_name-nek) a kiterjesztése nem gif, jpg/jpeg, png, akkor...

{

echo "Rossz fajltipus!"; //... "dobjon el" egy hibát

}

else

{

move_uploaded_file($tmp_dir, $target . $file_name); //az ideiglenes mappából átteszi a fájlt a végleges mappába (a $target . $file_name összeilleszti a két stringet, így uploads/fajlnev-et kapunk)

$feltoltve = true; //a feltoltve változó true értéket kap

}

if($feltoltve) {

$utvonal=$target.$file_name;

print("Sikeresen feltöltötted a képet!");

}

}

?>



2019. jan. 9. 18:57
 1/7 anonim ***** válasza:
Nem a kódban kell megoldani, tervezés kérdése.
2019. jan. 9. 19:04
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
Kódon kivül hogy lehet még megoldani?
2019. jan. 9. 19:33
 3/7 anonim ***** válasza:

Nem a kódon kívül kell megoldani, nem így értettem.

A kódban ilyen szempontból nincs hiba, azt csinálja, amit kell.

A kérdés az, hogy HOGYAN szeretnéd elkerülni azt, hogy az egyforma nevű fájlok ütközzenek. Ha ezt eldöntötted, utána kell a kódhoz hozzányúlni és ezt megvalósítani.

Erre meg nyilván ezer féle megoldás van, csak az a kérdés mi illeszkedik leginkább az üzleti logikához.

2019. jan. 9. 19:36
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Ja értem, Arra gondoltam, hogy akkor hasonlóan a rossz fáljtipushoz kiirja hogy nevezd át a fájlt.
2019. jan. 9. 19:45
 5/7 anonim ***** válasza:

Sorszámozd, dátumozd a feltöltést.

pl.:

$new_file_name = base_convert(time(),10,36) . $file_name;

move_uploaded_file($tmp_dir, $target . $new_file_name);

2019. jan. 9. 20:47
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
Több sebből is vérzik a kód. Ezt így élesbe ne tedd ki weboldalra.
2019. jan. 10. 21:22
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Köszönöm a válaszokat!
2019. jan. 16. 19:31

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!