problem s file_exists
17 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Mam problem s vyhledavanim souboru csv. Na localhost to funguje ok ,ale na webzdarma mi while projede 8x a soubor nenajde.$existuje je stale 0. Setkal se s tim nekdo? cim to? Snad neni chyba mezi zidli a klavesnici :-) $existuje = 0; $cyklus = 0; while (($cyklus <8) && ($existuje <> 1)) { $date0 = Date("ymd",MkTime(0,0,0,Date("m"),Date("d")-$cyklus,Date("y"))); $filename='ftp://ftp.pse.cz/Results.ak/AK'.$date0.'.csv'; if (@file_exists($filename)) { $existuje = 1; } $cyklus++; echo $cyklus.' '.$date0.'<br>'; } if ($existuje == 1) { echo $cyklus.' - '.$date0.'<br>'; } else { echo 'soubor neexistuje'; }
-
$filename='ftp://ftp.pse.cz/Results.ak/AK'.$date0.'.csv'; z manuálu: file_exists() nefunguje na vzdálených souborech; soubor k ověření musí být přístupný prostřednictvím filesystému serveru
-
a neslo by to resit nejak jinak? Snad nekdo neco podobnyho na WZ taky potrebuje pouzivat.
-
zkus otevřít soubor pomocí fopen a testovat jestli se soubor podařilo otevřít
-
Tak tak. Tento poslední příspěvek diskuze k funkci file_exists je zobrazený hned nahoře... Here is an easy function to check for remote files or an existing URL: <?php function url_exists($url) { $handle = @fopen($url, "r"); if ($handle === false) return false; fclose($handle); return true; } ?>
-
tak tohle taky funguje jen na localu - na webzdarma taky ne. <?php function url_exists($url) { $handle = @fopen($url, "r"); if ($handle === false) return false; fclose($handle); return true; } ?> k tomu fopen viz vyse, potrebuji otestovat existenci souboru, protoze v pripade ze soubor neexistuje tak while (!feof ($f)) jede donekonecna az mi to schodi explorera. sakra proc to na serveru nemaj funkcni.
-
Mne ta funkce funguje i na wz.
-
tak jsem si udelal zkusebni php soubor find.php <? function url_exists($url) { $handle = @fopen($url, "r"); if ($handle === false) return false; fclose($handle); return true; } if (!isset($_COOKIE["spad"])){ $existuje = 0; $cyklus = 0; while (($cyklus < 4) && ($existuje <> 1)) { $date0 = Date("ymd",MkTime(0,0,0,Date("m"),Date("d")-$cyklus,Date("y"))); $date00 = Date("Y-m-d",MkTime(0,0,0,Date("m"),Date("d")-$cyklus,Date("y"))); $filename='ftp://ftp.pse.cz/Results.ak/AK'.$date0.'.csv'; if (@url_exists($filename)=='true') { $existuje = 1; } $cyklus++; //echo $cyklus.' '.$date0.$filename.'<br>'; } //echo 'test'; if ($existuje == 1) {echo $cyklus.' - '.$date00.'<br>';} else {echo 'soubor neexistuje';} } ?> Na locale mi to echo vypise spravne koli smycek while a datum nalezeneho souboru. Na webzdarma - soubor neexistuje. Fakt nevim odkaz zde http://rahan.wz.cz/find.php
-
no fuj, co je tohle za odpornost? if (@url_exists($filename)=='true') { $existuje = 1; } co takhle $existuje = url_exists($filename);
-
njn ucim se ! odpornosti mam ve scriptu povicero. zkusil jsem $existuje = url_exists($filename); a na localhost ok , na WZ soubor neexistuje tudy cesta taky nevede .Ale dik za kazdy napad,radu. :-) http://rahan.wz.cz/find.php
-
AAou. Vypada to, ze na WZ to nepujde. Warning: fopen(ftp://ftp.pse.cz/Results.ak/AK060915.csv): failed to open stream: FTP server reports 220 Check Point FireWall-1 Secure FTP server running on fw
-
a vygeneruje ti to na wz spravny $filename?
-
http://tom.czweb.org/find.php
-
jj uz to taky vidim, ze ja tam ty zavinace pred fopen davam. http://rahan.wz.cz/find.php
-
a ted uz kord nevim co s tim budu delat ! asi to budu muset provozovat na localhost. Ach jo...
-
To vypada skoro jako ze wz blokuje FTP spojeni ven, ne? No, to by bylo vicemene logicke, server v zasade nema co sam navazovat spojeni s okolim pres ftp...
-
Jeste je jedna moznost. Proc pouzivat fopen, ci neco podobneho k pristupu k FTP, kdyz je k tomu urcena skupina funkci ftp_xxx()? http://cz.php.net/manual/cs/ref.ftp.php