Realpath bugos
Üdv.
PHP 5.2.17-ről van szó a mediacenter-nél.
Van egy olyan gondom, hogy feltöltök egy képet http-vel, és szeretném a temp könyvtár elérési útját lekérdezni, mert átméretezem a fájlt, és az átméretezett képeket is a tempbe tenném ideiglenesen. A feltöltött fájlok a /tmp-be mennek. Realpath-et használok útvonal normalizálásra, a gondom a következő:Van bármi ötlet, hogy ez hogy fordulhat elő?
(Valszeg megkerülöm a .. helyett a fájlnév levágásával, de érdekelne, ha van erre magyarázat.)
■ PHP 5.2.17-ről van szó a mediacenter-nél.
Van egy olyan gondom, hogy feltöltök egy képet http-vel, és szeretném a temp könyvtár elérési útját lekérdezni, mert átméretezem a fájlt, és az átméretezett képeket is a tempbe tenném ideiglenesen. A feltöltött fájlok a /tmp-be mennek. Realpath-et használok útvonal normalizálásra, a gondom a következő:
realpath('/tmp') -> '/tmp'
realpath('/tmp/..') -> '/'
realpath('/tmp/tmp-uploaded-file') -> '/tmp/tmp-uploaded-file'
realpath('/tmp/tmp-uploaded-file/..') -> false
(Valszeg megkerülöm a .. helyett a fájlnév levágásával, de érdekelne, ha van erre magyarázat.)
A fájlnév levágásos
Ha a /tmp/tmp-uploaded-file
A
realpath()
nem csak tisztán stringtranszformációt végez, hanem tényleges fájlrendszer IO műveleteket is végrehajt.Lehet, hogy tényleg ez a
Egyébként fura, mert localhoston pl ugyanaz a kód teljesen jól működik, pedig ott is fájlok után írom a ..-ot. Szóval ez egyáltalán nem ennyire egyértelmű. Akár még az is lehet, hogy operációs rendszer függő...
Egyébként jobban örülnék egy olyan megoldásnak, ami nem nézi meg, hogy létezik e az adott fájl/könyvtár, csak szimplán normalizálja az útvonalat, amit megadok neki. Tudsz ilyenről?
a realpath követi a
Azt vágom, de symlink követés
Mondjuk ha le lehet rántani egy symlink listát, és azon keresni, akkor ez is megoldható. Egyelőre nem életbevágó, úgyhogy nem foglalkoztam még a témával. Csak az zavart, hogy nem tudom úgy normalizálni útvonalat, hogy ne létezne a fájl...
Ha nagyon akarod, bele lehet
Nincs, ezt ilyen extrának
Ha az adat a juzertől jön,