Problem s eregi()
7 отговора
241 прегледа
Problem s eregi()
hosting dostavchika mi si upgradna PHP versiata na 4.3.3 i v momenta imam problem s eregi(). Okaza se 4e na po-stara versia komandata se izpylnava korektno. Dali e vypros na nastroiki na PHP-to ili ima problem s tazi versia?
Eto i krtkata PHP programa koiato ne raboti na tazi versia:
<?
$GrabStart = "<table"; //- HTML-a otkoito pochva gepeneto
$GrabEnd = "</table>"; //- HTML-a s koto svyrshva gepeneto
$OpenFile = fopen("[линк]", "r"); $RetrieveFile = fread($OpenFile, 200000);
$GrabData = eregi("$GrabStart(.*)$GrabEnd", $RetrieveFile, $DataPrint);
fclose($OpenFile);
echo $DataPrint[0];
?>
programkata vzema opredelena 4ast ot html stranicata na poso4enia url adres.
Ako znaete ne6to za problema molia da mi pomognete ili da mi predlojite drugo re6enie.
Blagodaria v avans
Eto i krtkata PHP programa koiato ne raboti na tazi versia:
<?
$GrabStart = "<table"; //- HTML-a otkoito pochva gepeneto
$GrabEnd = "</table>"; //- HTML-a s koto svyrshva gepeneto
$OpenFile = fopen("[линк]", "r"); $RetrieveFile = fread($OpenFile, 200000);
$GrabData = eregi("$GrabStart(.*)$GrabEnd", $RetrieveFile, $DataPrint);
fclose($OpenFile);
echo $DataPrint[0];
?>
programkata vzema opredelena 4ast ot html stranicata na poso4enia url adres.
Ako znaete ne6to za problema molia da mi pomognete ili da mi predlojite drugo re6enie.
Blagodaria v avans
Re: Problem s eregi()
хм, аз не загрявам защо това въобще е работило досега :)
когато четеш от network stream четенето спира в момента, когато поредния пакет стане достъпен. т.е. по твоя начин ще прочетеш само част от файла. целият файл се прочита така:
а щом ти трябва съдържанието на файла в низ, защо да не използваш направо:
когато четеш от network stream четенето спира в момента, когато поредния пакет стане достъпен. т.е. по твоя начин ще прочетеш само част от файла. целият файл се прочита така:
$OpenFile = fopen("[линк]", "r");
$RetrieveFile = "";
do {
$data = fread($OpenFile, 8192);
if (strlen($data) == 0) {
break;
}
$RetrieveFile .= $data;
} while (true);
fclose($OpenFile);
а щом ти трябва съдържанието на файла в низ, защо да не използваш направо:
$RetrieveFile = file_get_contents("[линк]");
Re: Problem s eregi()
аз мисля, че това по принцип не е правилно...
$GrabData = eregi("$GrabStart(.*)$GrabEnd", $RetrieveFile, $DataPrint);
(.*) - това според мен означава всички символи, включително и $GrabEnd
мисля, че трябва да се измъдри нещо от рода на (^$GrabEnd) на мястото на (.*) ама не съм наясно с точния синтаксис. смисъла е "всичко различно от $GrabEnd)
поне аз така виждам нещата....
[линк]
$GrabData = eregi("$GrabStart(.*)$GrabEnd", $RetrieveFile, $DataPrint);
(.*) - това според мен означава всички символи, включително и $GrabEnd
мисля, че трябва да се измъдри нещо от рода на (^$GrabEnd) на мястото на (.*) ама не съм наясно с точния синтаксис. смисъла е "всичко различно от $GrabEnd)
поне аз така виждам нещата....
[линк]
сигурен ли си, че е с eregi?
Макар и да не ми харесва как е написан, при мен този код работи.
По-вероятно са ти сетнали allow-url-fopen на off.
[линк]
Everything louder than everything else...
По-вероятно са ти сетнали allow-url-fopen на off.
[линк]
Everything louder than everything else...
хубав цикъл
Ако всеки цикъл го пишеш така, евала ти праскам.
Everything louder than everything else...
Everything louder than everything else...
Re: хубав цикъл
кой, аз ли? всъщност кода го изплагиатствах оттук:
[линк]
все пак благодаря за похвалата :)
p.s. при мен първоначалният код не работи. поради причината, която вече изтъкнах.
[линк]
все пак благодаря за похвалата :)
p.s. при мен първоначалният код не работи. поради причината, която вече изтъкнах.
Re: сигурен ли си, че е с eregi?
предполагам че проблема е в eregi() тъй като файла съм сигурен че се чете, поне като принтна $RetrieveFile ми показва всичко от А до Я.