arpsoft Posted June 22, 2011 Posted June 22, 2011 Az is_file attól a könyvtártól kezdve kezd dolgozni az iis-en, ahonnan futtatod a scriptet. Legyen a könyvtárszerkezet a következõ: test.php /test valami.xyz /test2 test.php Ha a test.php tartalma: <?php if(is_file("test/valami.xyz")) die("ok"); else die("nonok"); ?> , akkor a gyökérbõl futtatva 'ok', a test2-bõl futtatva 'nonok' lesz az eredmény. A test2-bõl csak abban az esetben találja meg a fájlt, ha átírjuk az útvonalat: if(is_file("../test/valami.xyz")) Ez viszont csak a test2-bõl fut rendesen. Következtetés: az iis nem szereti a relatív útvonalakat.
[OP]Destroy-man Posted June 23, 2011 Posted June 23, 2011 Következtetés: az iis nem szereti a relatív útvonalakat. Éppenséggel szereti, csak nem PHP-ból, hanem C#-ból: Server.MapPath("mappa/file.nev"); megadással.
Pjotr Posted June 23, 2011 Posted June 23, 2011 The MapPath method maps the specified relative or virtual path to the corresponding physical directory on the server.
[OP]Destroy-man Posted June 23, 2011 Posted June 23, 2011 Pontosan. De mivel az IIS egyik jó tulajdonsága, hogy a weblapok mindig más virtuális mappába kerülnek, így esélyed sincs másképp megadni neki a pontos útvonalat, ha épp szükséged lenne rá.
Pjotr Posted June 23, 2011 Posted June 23, 2011 Csak ezzel ezt mondtad, hogy magától az ASP.NET sem tudja, hanem van neki függvénye erre. Hogy visszakanyarodjunk a PHP-ra: én úgy csináltam ezt, mintha PHP-ban lenne egy ilyen MapPath metóduson. Ilyen módon sosincs bajom az is_file() és hasonló dolgokkal. (Az alapot adhatja a DOCUMENT_ROOT vagy valami más fix pl. cross domain-es környezetben, ahol több lap megy ugyanarról a tárhelyrõl és pl. symlink()-elni kell.)
Kiskalóz Posted June 27, 2011 Posted June 27, 2011 Na ismét nem tudok megoldani egy dolgot ezzel az IIS-el. Már kb 3 órája próbálkozok vele. Lényeg egy pdf feltöltést akarok megcsinálni. Adatbázisba szépen beleírj,de a pdf-et nem menti el. Íme a kód: if(isset($_POST['mentes'])){ $pdf=$_FILES['pdf']['name']; $kit=".pdf"; $datum=hun_time(); $datum=$_SESSION['user']['ugyfel_id']."_".$datum; $pdf = $datum.$kit; $tmp_dir = $_FILES['pdf']['tmp_name']; $pdf_mappa = "E:/web/xy/pdf/"; move_uploaded_file($tmp_dir, $pdf_mappa . $pdf); $ins=dbQuery("INSERT INTO ......... ...... )"); closePopupRefresh(); }
Kiskalóz Posted June 27, 2011 Posted June 27, 2011 Gondolom igen. Én hoztam létre a mappát.. és 777 az attribútoma.
arpsoft Posted June 27, 2011 Posted June 27, 2011 Próbáld meg: if(!move_uploaded_file($tmp_dir, $pdf_mappa . $pdf)){ print_r(error_get_last()); die(); }
Kiskalóz Posted June 27, 2011 Posted June 27, 2011 Erre ezt kapom: Array ( [type] => 8 [message] => Undefined index: pdf [file] => E:\web\xy\pages\pdf_up.php [line] => 77 ) 77-ik sorban ez van: $tmp_dir = $_FILES['pdf']['tmp_name'];
kléni Posted June 27, 2011 Posted June 27, 2011 A <form> elemre rá van adva az enctype="multipart/form-data"?
kléni Posted June 27, 2011 Posted June 27, 2011 Én is szeretem a hasonló kis hibákat, amire rámegy a fél nap
kléni Posted June 28, 2011 Posted June 28, 2011 Mi a rákért ad vissza az strlen() 2-t egy "á" karakterre? Semmi ilyet nem találtam a leírásban.
Pjotr Posted June 28, 2011 Posted June 28, 2011 Jó eséllyel duplabyteos. Az mb_strlen() 1-et fog visszadni. Érdemes mindig lefuttatni az mb_internal_encoding() függvényt (mb_internal_encoding("UTF-8")), és az összes sztringfüggvényből az mb_ kezdetűeket használni.
payskin Posted June 28, 2011 Posted June 28, 2011 Hm, lehet, hogy mégsem fogom átrakni a játéknetet utf-8-ra. Pedig már gondolkodtam rajta...
Pjotr Posted June 28, 2011 Posted June 28, 2011 Nincs vele semmi gond, csak oda kell figyelni ezekre. Adatbázis+tábla+attribútum+header+internal encoding+file encoding+meta legyen UTF-8, és persze a megfelelő függvény legyen mindig használva. Azt mondjuk tuti nem csinálnám, hogy egy meglévő rendszert kattintanék át UTF-8-asra csak azért, mert.
payskin Posted June 28, 2011 Posted June 28, 2011 Nos, igen, csak közben ezerrel SEO-zunk, és a "Mesrerek" szerint az UTF-8 is jó, mert a latin-2 izé. Komolyan mondom, ennél nagyobb kuruzslás, mint a SEO, nincs még egy az internet környékén... Van mondjuk 10 alapszabály, amit ha betartasz az oldal fejlesztése során, akkor az jobbá teszi az oldaladat, ezt a 10 szabályt viszont akár a Google, akár a Yahoo, akár bármelyik ilyen oldaltesztelős webszolgáltatás megmondja neked. Ha ezekben már A+-os az oldal, onnantól kezdve pénz és kapcsolatrendszer kérdése... (Jut eszembe, FUUU smileyt felrakni! Nem elfelejteni!)
payskin Posted June 28, 2011 Posted June 28, 2011 Egyébként ez a latin2 --> UTF-8 csere elég hasonló volna ahhoz a szíváshoz, mint amikor egy 4+ éves webáruházat alakítasz át beszédes URL-ek használatára. Csak az összes fájlba kell beletúrni, a régi URL-képzõ függvényeket újraírni, a régi $_GET / $_POST kezelõ függvényeket újraírni, majdnem az összes formot és formkezelõt átalakítani, a terméklistázós szûrés dolgot megtámogatni, és megterhelni a boltot letöltésenként +2-3 lekérdezéssel, hogy kiderítsd, hogy mi a franc a kapott kulcsszó és ennek megfelelõen mit kell betölteni vagy átirányítani máshova. Átirányításnál figyelni, hogy hogy irányítasz át, mert ugye van 200, 301, 302 + a 404, ami nem átirányítás, de néha ki kell küldeni, mert az jó. Anyám borogass, egy napig állni fog a bolt, amíg beélesítem, és utána indul a szorongás, hogy elba... ltáztunk-e valamit, mit szól a Google, merre indul a pagerank stb. FFFFFUUUUUUU!
Garono Posted June 28, 2011 Posted June 28, 2011 (Jut eszembe, FUUU smileyt felrakni! Nem elfelejteni!) Ugye, hogy ugye?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now