Kezdőoldal » Számítástechnika » Programozás » Miért van az, hogy egy bizonyo...

Miért van az, hogy egy bizonyos feltöltött fájl méret felett a PHP, nem az én általam kért hibaüzenetet írja ki?

Figyelt kérdés

Jelenleg 2MB az upload_max_filesize és 8MB a max POST. A HTML form-ban is meg van adva egy 2MB-os MAX_FILE_SIZE hidden input.


Ha feltöltök mondjuk egy 4MB-os fájlt akkor frankón kiírja, amit akarok:

if($_FILES["attachment"]["error"] == 1 || $_FILES["attachment"]["error"] == 2 || $file_size<=$maxfilesize) {

echo '<p style="color: red;">A fájlméret túl nagy! A maximum méret: 2MB!</p>';

}

De ha mondjuk feltöltök egy 16MB-os fájlt akkor nem írja ki az általam írt hibaüzenetet, hanem 'nem csinál semmit'. Hibát nem ír, de ha kiíratom vele az $_FILE ['file']['error']-t akkor az 1-es hibakódra hivatkozik vagyis, hogy: "The uploaded file exceeds the upload_max_filesize directive in php.ini." De mégsem fut le az erre szánt kódom...


Ha mondjuk már egy 50MB-os fájlal próbálkozom, akkor ezt adja vissza:

404 - File or directory not found.

The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.


Mit csináljak, hogy minden 2MB fölötti fájlra az én általam írt hibakód teljesüljön?



2014. máj. 2. 13:17
 1/4 anonim ***** válasza:
Valószínűleg timeoutol a script és ezért viselkedik így.
2014. máj. 2. 13:53
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Nem hiszem, mert a "max_execution_time = 120" és a script a feljebb említetteteket kb. 10mp után csinálja...
2014. máj. 2. 14:06
 3/4 anonim ***** válasza:

A $file_size<=$maxfilesiz mit csinál?

Valószínűleg az van, hogy 8 MB felett a PHP értelmező veszi át a hatalmat, és el sem jut a te kódodig, illetve nem kap értéket az a változó, amivel te ellenőrzöd a méretet. A php.ini pont azért van, hogy az a szerver összes használójára vonatkozzon, és az ott keletkező hibát a PHP fogja lekezelni, nem te.

Viszont ha kiírod a méretet, és a user ragaszkodik hozzá, hogy márpedig ő hülye akar lenni, és azért is 16-ot tölt fel, hadd legyen az ő baja.

2014. máj. 2. 17:40
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:

Köszi!

$file_size<=$maxfilesize - ezt már kivettem. Csak annyi volt az értelme ami látszik is. Megadtam egy változóban hogy mennyi a max fájlméret (byteban) és egy másikban pedig a feltöltött fájl méretét.

Akkor ezzel semmit sem lehet tenni?

Amúgy igazad van, ki van írva, hogy max 2MB, de úgyis lesznek olyanok akik erőltetik a 100 Megás cuccukat és csodálkoznak majd, hogy mi a baj...

2014. máj. 3. 09:24

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!