Ú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!
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.
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...
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?___________________
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?
Új hozzászólás Aktív témák
- Futás, futópályák
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Kamionok, fuvarozás, logisztika topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Home server / házi szerver építése
- Szombathely és környéke adok-veszek-beszélgetek
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- Okos Otthon / Smart Home
- További aktív témák...
- Xiaomi Redmi Note 14 Pro Plus 12/512GB Újszerű, Kártyafüggetlen,Dobozos,Tartozékaival. 1 Év Garanciá
- Újszerű Keychron K6 Mechanikus Billentyűzet
- Samsung Galaxy S21 Ultra 5G 12/256GB Megkímélt,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- új bontatlan 15 hüvelykes MacBook Air M4 256GB SSD silver ezüst Apple magyar 3 év garancia
- Apple iPhone SE (2020) 64GB 93% Akku Megkímélt,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- AKCIÓ! Apple Watch SE 2024 44mm Cellular okosóra garanciával hibátlan működéssel
- REFURBISHED - HP USB-C Dock G4 (L13899-001)
- iPhone 14 Pro Max 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3522
- LG 27GP95RP - 27" Nano IPS - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 600
- HIBÁTLAN iPhone 14 Pro Max 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3510
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest