[php] txt file inlezen?

Pagina: 1
Acties:
  • 123 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • winand
  • Registratie: April 2000
  • Laatst online: 13-09 10:32
Nu wordt ik er gek van.
NERGENS kan ik een SIMPEL voorbeeld vinden van hoe ik een ascii file kan inlezen in php.
Ik dacht aan zoiets als:

$fd = fopen("leesmij.txt","r");
while (!feof($fd)){
freadln($fd,$strtemp);
echo ("$strtemp\n");
}
fclose($fd);

Maarja, freadln bestaat niet. Ik weet niet waar ik het zoeken moet.. php.net biedt ook geen uitkomst! :?

Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

beter zoeken :)
PHP:
1
2
3
4
5
<?
$fp=fopen("bestand,"r");
$file=fread($fp,filesize("bestand");
fclose($fp);
?>

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • winand
  • Registratie: April 2000
  • Laatst online: 13-09 10:32
Maar dan heb ik de hele file in één variabele. Hoe splits ik deze op?

Ik wil een csv file importeren in een mysql database.
Kan ik hiervoor niet beter per regel inlezen en per regel een 'INSERT INTO' statement uitvoeren?

Acties:
  • 0 Henk 'm!

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 05:41
Op vrijdag 28 september 2001 21:56 schreef winand het volgende:
Maar dan heb ik de hele file in één variabele. Hoe splits ik deze op?

Ik wil een csv file importeren in een mysql database.
Kan ik hiervoor niet beter per regel inlezen en per regel een 'INSERT INTO' statement uitvoeren?
Gebruik het commando file om een bestand per regel in te lezen. Dan kun je for gebruiken om het te verwerken.

Nogal basic vraagje trouwens...

Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

Op vrijdag 28 september 2001 21:56 schreef winand het volgende:
Maar dan heb ik de hele file in één variabele. Hoe splits ik deze op?
Daar vroeg je ook om. Maare, zoals al opgemerkt, het file() command doet dit handig.
Je kunt ook mijn oplossing gebruiken samen met explode().

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • winand
  • Registratie: April 2000
  • Laatst online: 13-09 10:32
HEBBES !

De waarden in de CSV file zijn gescheiden door tabs. Elke regel (dus elk record) wordt gescheiden door een CR.
Het volgende heb ik nu en werkt perfect:

$fp=fopen($file,"r");
$content = fread($fp,filesize($file));
fclose($fp);

// maak array met alle regels uit de file
$lines = explode("\n",$content);
// voor elke regel do:
for ($k=0; $k<count($lines); $k++) {
// maak array met alle waarden uit een regel
$values = explode("\t",$lines[$k]);
// voor elke waarde do:
for ($l=0; $l<count($values); $l++) {
echo ("$values[$l]<br>");
// ..en doe er iets mee, in mijn geval sql insert..
}
}

thanx voor de tips ;)
Pagina: 1