Avatar billede axel21 Juniormester
24. november 2006 - 12:36 Der er 9 kommentarer og
1 løsning

Hjælp til file_get_contents?

Har brug for lidt hjælp til file_get_contents..

Har en excel fil jeg har lavet om til en csv fil. Jeg vil så have udskrevet alt i den fil som f.eks. Varegrupper. Jeg kan godt få vist hele filen, men kan ikke helt finde ud af kun at vise en del af den..
Avatar billede axel21 Juniormester
24. november 2006 - 12:37 #1
Har denne kode som virker:

$data = file_get_contents ("varekatalog.csv");

echo str_replace("\n", "<hr />", $data);
Avatar billede loevgaard Praktikant
24. november 2006 - 13:03 #2
hvad mener du med at få vist "en del" af den? http://dk.php.net/substr ?
Avatar billede kinderaeg Nybegynder
24. november 2006 - 13:09 #3
Du kan nøjes med at læse dele af en fil med fread eller fgets, ellers vil jeg anbefale, at du selv sorterer i de data du skal bruge, når du har læst hele filen:

http://dk2.php.net/manual/en/function.fread.php
http://dk2.php.net/manual/en/function.fgets.php
Avatar billede axel21 Juniormester
24. november 2006 - 13:10 #4
Jeg har lavet en masse kolonner, eks. varegruppe, varenummer osv. Jeg vil kun have udskrevet eksvis varegruppe rækken, med alt hvad der ligger der i.. Kan vise et eksempel på csv filen..
Avatar billede axel21 Juniormester
24. november 2006 - 13:11 #5
Varegruppe;Varenummer;Navn;Beskrivelse;Pris;Tilbud;Lager
1;1017025938;AFBR OPUS HV 1P AFBR OPUS HV;Opus;73,50;;34
1;1017026173;AFBR OPUS HV KRONE AFBR OPUS HV;Opus;56,89;;453
1;1017025996;AFBR OPUS HV KORR AFBR OPUS HV;Opus;43,88;;656
1;1017026144;AFBR OPUS HV KORR DOBBELT AFBR OPUS HV;Opus;35,00;;7658
1;1017026209;AFBR OPUS HV KRYDSNING AFBR OPUS HV;Opus;25,67;;9
1;1017026050;AFBR OPUS HV KORR LAMPE 2SLF AFBR OPUS ;Opus;129,50;;879
1;1017026995;BL’NDD’KSEL OPUS HV 1M BL’NDD’KSEL O;Opus;43,97;;43
1;1017026351;STIKDSE OPUS HV LMJ STIKDSE OPUS;Opus;91,45;;345
1;1017032251;STIKDSE OPUS66 HV 2xLMJ PLF STIKDSE ;Opus;35,01;;4878
1;1017031537;STIKDSE OPUS HV 3xLMJ PLF STIKDSE ;Opus;34,14;;54
1;1017025200;STIKDSE OPUS HV 2xLMJ UDV STIKDSE ;Opus;32,45;;545
1;1017032251;STIKDSE OPUS HV 3xLMJ UDV STIKDSE ;Opus;65,36;;46
1;1017031537;PANELSTIKK OPUS HV LMJX2 PANELSTIKK HV;Opus;49,31;;76856
1;1017027567;PANELSTIKK OPUS HV LMJX3 STIKK PANEL;Opus;43,31;;6346
1;1017033742;UNDERLAG OPUS66 HV 2M 34MM UNDERLAG ;Opus;68,30;;7754
2;1017035818;Afbryder 1-POL Hvid;Fuga;65,43;;54
2;1017036134;Afbryder krydsning;Fuga;87,43;;658567
2;1017036095;Afbryder krone;Fuga;94,50;;54
2;1017036053;Afbryder korrespondance for n›gle med sl›jfeklemme;Fuga;13,90;;6457
Avatar billede axel21 Juniormester
24. november 2006 - 13:12 #6
Nogle med et eksempel??
Avatar billede kinderaeg Nybegynder
24. november 2006 - 13:21 #7
Du mener, at du vil læse en kolonne ad gangen?

Du kan jo, når du har læst hele filen ind, inddelel den i arrays.

$data = file_get_contents ("varekatalog.csv");
$arr = explode("\n", $data);

Så har du delt data op i rækker, hvis du så vil ha' kolonner, kan du jo gøre det ved at køre en explode igen, denne gang på ;
Avatar billede kinderaeg Nybegynder
24. november 2006 - 13:42 #8
Nedenstående skriver elementerne fra den første kolonne ud på hver sin linie, så kan du selv modificere det, som du lyster ;)

$lines = array();
$data = file_get_contents ("varekatalog.csv");
$arr = explode("\n", $data);
foreach($arr as $value) {
    $lines[] = explode(";", $value);
}
foreach($lines as $line) {
    echo $line[0].'<br>';
}
Avatar billede axel21 Juniormester
24. november 2006 - 22:04 #9
Tak for det, det ser supergodt ud... God weekend Smid et svar..
Avatar billede kinderaeg Nybegynder
25. november 2006 - 01:23 #10
Selv god weekend ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester