phpbar.de logo

Mailinglisten-Archive

[php] Stringsuche

[php] Stringsuche

Norbert Pfeiffer pfeiffer_(at)_uris.de
Tue, 22 Jun 1999 17:38:16 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0086_01BEBCD6.02B21100
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

Hallo Oliver,

>> - Wie also weiter ?
>> - Ist Perl wesentlich schneller ?
>> - Oder hat jemand eine bessere Idee ?
> Kein System der Welt kann es sich leisten, alle Fundstellen jedesmal neu
> zu durchsuchen. Volltextdatenbanken (z.B. Verity, Fulcrum /kommerziell,
> htDig /Freeware) arbeiten mit offline aufgebauten Indizes.
so etwas aehnliches habe ich mir auch fuer den NewsFlash ausgedacht.
http://web-as.bureau/workshop/newsflash/
Funktioniert sogar 'online', d.h. jeden Freitag werden die neuen
Meldungen auf den Server geschoben und eingestellt.
NUR:
Auch hier gibt es ein Problem mit PHP:

Am einfachsten sieht man das im angehaengten Test-Script.
Variiere einfach mal den Wert füer '$max'.
Sobald die Stringlaenge ueber 8190 Byte kommt, ist alles ausser Kontrolle.

Ich habe zwar im Manual gesucht, jedoch keinen Hinweis auf eine
Beschraenkung
von Strings oder Arrays entdecken koennen.
Ist das nun:
- ein noch unentdeckter Fehler in PHP ?
- oder nur eine ueberzogene Erwartung ?

Vielleicht wissen ja die Buchautoren etwas damit anzufangen ...
Oder derjenige, der so laut nach PHP-Problemen gerufen hat <duck>



M. f. G. Norbert Pfeiffer
________________________________________________
Dipl. kyb. Norbert Pfeiffer       DTP-PRG-Bureau
Friedensstrasse 26                 D-06237 LEUNA
Fon +49-(0)3461-8132-36  Fax +49-(0)3461-8132-37
mailto:pfeiffer_(at)_uris.de   http://uris.de/bureau/
------------------------------------------------


------=_NextPart_000_0086_01BEBCD6.02B21100
Content-Type: application/octet-stream;
	name="make-Array.php3"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="make-Array.php3"

<?php
// ## testet String u. Array auf L=E4nge
$nam =3D "make-Array";
srand((double)microtime()*1000000);
$max =3D 1111;
$iX =3D 9;

echo =
"<html>\n<head>\n<title>".$nam."</title>\n</head>\n<body>\n<pre>\n";
echo "<b>  <a href=3D'./'>index</a> - <a =
href=3D'".$nam.".php3'>reload</a></b>\n\n";
echo "<big><b>  ".$nam.".php3</b></big><font size=3D1>\n";
echo "------------------------------------- schreiben\n";
$fx =3D fopen("_test.list", "w");
for ($i=3D0; $i<$iX; $i++)
    {$zeile =3D "datei_0".$i."=AF";
     $jX =3D floor(($max - 1) * (rand()/getrandmax(void)));
     $zeile .=3D "start";
     for ($j=3D0; $j<$jX; $j++)
         {$zeile .=3D " was soll das werden ?";
          }
     $zeile .=3D " ende";
     $eg =3D fputs($fx, $zeile."\r\n");
     echo $i." - ".strlen($zeile)."/".$eg."\n";
     }
$eg =3D fclose($fx);
echo "------------------------------------- lesen\n";
$IH =3D file("_test.list");
$iX =3D count($IH);
for ($i=3D0; $i<$iX; $i++)
    {$zeile =3D trim($IH[$i]);
     $tt =3D explode("=AF", $IH[$i]);
     echo $i." - ".strlen($zeile)."/".strlen($IH[$i])." - ".$tt[0]."\n";
     }


echo "------------------------------------- ENDE\n";
echo "</font>\n<b>  <a href=3D'./'>index</a></b>\n";
echo "</pre>\n</body>\n</html>\n";

?>

------=_NextPart_000_0086_01BEBCD6.02B21100--



php::bar PHP Wiki   -   Listenarchive