PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   datei zeichenweise ausgeben (http://www.selfphp.de/forum/showthread.php?t=4046)

pauline 20.04.2003 11:24:54

datei zeichenweise ausgeben
 
hallo forum!

ich habe eine simple textdatei, die ich 130-zeichenweise ausgeben möchte, also z.b. $ausgabe beinhaltet die zeichen 0-130, (wird dann weiterverarbeitet), in einem neuen schleifendurchlauf hat $ausgabe dann die zeichen 131-260 usw...

leider komme ich mit ftell/fseek nicht klar, zudem hat $ausgabe immer nur ein zeichen anstatt den ganzen 130er-block.
PHP-Code:

$pos=130;
$fseek($fp,$pos);
while(
ftell($fp)<=$pos)
    {
    
$ausgabe=fgetc($fp);
    }
$pos += 130

bin dankbar für jede hilfe ;-))

gruss, pauline

c4 20.04.2003 16:55:22

Versuch's doch mal so:
PHP-Code:

$start=0;
$content=join(""file("datei.ext"));
echo 
substr($content$start130); 

substr() gibt Dir von $start an 130 Zeichen aus.
Nicht wundern: Zeilenumbrüche zählen mit 2 oder gar 4 Zeichen dazu! Also eventuell vorher noch mit str_replace("n","",$content); entfernen

pauline 20.04.2003 18:24:16

der tip war entscheidend, und so gings dann:
PHP-Code:

$start=0;
for(
$i=0;$i<=$msg_max_count;$i++)
    {
    
$content=join("",file(output.txt));
    
$single_sms=substr($content,$start,130);
    
$start += 130
    } 

danke & ostergruss,

pauline

p.s.: tip! habe hier ein paar scripte entdeckt, die sogar
darauf achten, keine zus.hängende strings zu zerteilen.

c4 20.04.2003 18:36:23

Das kannst Du auch einfacher haben:
PHP-Code:

for($i=0$i<=$msg_max_count$i+=130)
 {
  
$content=join("",file(output.txt));
  
$single_sms=substr($content,$i,130);
 } 



Alle Zeitangaben in WEZ +2. Es ist jetzt 09:52:28 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.