ebiz-webhosting
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-06-2005, 21:56
Paulus
 Newbie
Links : Onlinestatus : Paulus ist offline
Registriert seit: Jan 2005
Beiträge: 35
Paulus ist zur Zeit noch ein unbeschriebenes Blatt
Standard CSV Datei zu groß ?

Hallo, wie wird in der Regel eine CSV Datei eingelesen ? Zeile für Zeile oder wird erst die ganze Datei in den Speicher eingelesen und dann Zeile für Zeile eingetragen ?

Ich habe folgendes Problem. Sobald eine CSV Datei eine bestimmte größe hat, werden keine Daten eingelesen.


PHP-Code:

<?php
// Ganze Datei in  Speicher einlesen
$dateiname="./uploaded/".$nickname."_xxx.csv";
    
$f=fopen($dateiname,"r");
    
$puffer="";
    while (!
feof($f)) {
        
$puffer.=fgets($f); }
    
fclose($f);
?>
....cut....


PHP-Code:
<?php
// Uploaddatei öffnen
$dateiname="./uploaded/".$nickname."_xxx.csv";
    if ( 
$f=fopen($dateiname,"r"))
{
    
// Datei Zeile für Zeile einlesen
  
$eingestellte_auktion=0;
        
$laenge=filesize($dateiname);
        while(!
feof($f))
        {
            
$felder=fgetcsv($f,$laenge,";") ;
            if (
count($felder)==21 )
?>
Kann es sein das es daran liegt das die Datei erst in den Speicher gelesen wird ?

Gruß Paulus
Mit Zitat antworten
  #2 (permalink)  
Alt 08-06-2005, 22:21
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

PHP-Code:
if ($f fopen($dateiname,"r")) {
    
$laenge filesize($dateiname);
    while (!
feof($f)) {
        
$felder=fgetcsv($f,$laenge,";"); 
Lass dir $felder mal ausgeben ...
Mit Zitat antworten
  #3 (permalink)  
Alt 08-06-2005, 22:27
Paulus
 Newbie
Links : Onlinestatus : Paulus ist offline
Registriert seit: Jan 2005
Beiträge: 35
Paulus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Verstehe ich nicht so ganz. Ich habe nicht sehr viel Ahnung von PHP.

Kannst Du das weiter definieren ?
Mit Zitat antworten
  #4 (permalink)  
Alt 08-06-2005, 22:31
Heinervdm
 Newbie
Links : Onlinestatus : Heinervdm ist offline
Registriert seit: Jan 2005
Ort: Neuwied
Beiträge: 29
Heinervdm ist zur Zeit noch ein unbeschriebenes Blatt
Heinervdm eine Nachricht über ICQ schicken
Standard

Also fgetcsv basiert auf fgets,
fgets liest entweder bis zum nächsten zeilenumbruch, bis EOF oder bis $length-1, je nachdem was früher eintritt.
In deinem Fall wird der Zeilenumbruch immer früher eintreten.

Ab welcher größe deiner CSV Datei funktioniert es denn nicht mehr?

stimmt der Wert vieleicht mit dem von MEMORY_LIMIT in der php.ini überein? Dann wirst du es wohl nicht schaffen größere Dateien einzulesen. (Standartmäßig sind es 8MB)
Mit Zitat antworten
  #5 (permalink)  
Alt 08-06-2005, 22:33
Paulus
 Newbie
Links : Onlinestatus : Paulus ist offline
Registriert seit: Jan 2005
Beiträge: 35
Paulus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die Datei selber ist 50 MB groß. Alle Serverwerte sind am Limit. Stehen alle PHP Einstellungen auf 100 MB. Bis 15 MB Dateien werden eingelesen.
Mit Zitat antworten
  #6 (permalink)  
Alt 09-06-2005, 08:09
RanzigeMilch
 Registrierter Benutzer
Links : Onlinestatus : RanzigeMilch ist offline
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
RanzigeMilch ist zur Zeit noch ein unbeschriebenes Blatt
RanzigeMilch eine Nachricht über ICQ schicken
Standard

sry gehirnfurz delete pls bin zu müd grad
__________________
Die Milch bleibt ranzig!
Mit Zitat antworten
  #7 (permalink)  
Alt 09-06-2005, 08:16
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mal folgendes probiert ?
PHP-Code:
$string file_get_contents("deine_datei.csv");
var_dump($string); 
Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #8 (permalink)  
Alt 09-06-2005, 08:36
Paulus
 Newbie
Links : Onlinestatus : Paulus ist offline
Registriert seit: Jan 2005
Beiträge: 35
Paulus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

[QUOTE]Original geschrieben von jahlives
[B]Mal folgendes probiert ?
PHP-Code:
$string file_get_contents("deine_datei.csv");
var_dump($string); 
Was bewirkt das ganze denn ?
Mit Zitat antworten
  #9 (permalink)  
Alt 09-06-2005, 08:39
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

file_get_contents, var_dump

Das bewirkt das!
Und wenn du's probiert hättest, hättest du auch gleichs chreiben können, ob es funktioniert oder nicht...
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #10 (permalink)  
Alt 09-06-2005, 08:50
Paulus
 Newbie
Links : Onlinestatus : Paulus ist offline
Registriert seit: Jan 2005
Beiträge: 35
Paulus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hätte ich schon probiert wenn ich wüsste an welche Stelle das ganze kommt. Hab halt nicht so viel Ahnung von PHP und muss dann mehrmals testen.
Mit Zitat antworten
  #11 (permalink)  
Alt 09-06-2005, 10:08
Paulus
 Newbie
Links : Onlinestatus : Paulus ist offline
Registriert seit: Jan 2005
Beiträge: 35
Paulus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von mrhappiness
file_get_contents, var_dump

Das bewirkt das!
Und wenn du's probiert hättest, hättest du auch gleichs chreiben können, ob es funktioniert oder nicht...
Wenn ich den String einfüge, wird entweder alles auf dem Bildschirm ausgegeben oder es passiert garnichts. Jenachdem wo ich den hinsetze.
Mit Zitat antworten
  #12 (permalink)  
Alt 09-06-2005, 10:13
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Könnte es sein, dass das bedeutet, dass die Datei sehr wohl komplett eingelesen werden kann?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #13 (permalink)  
Alt 09-06-2005, 10:15
Paulus
 Newbie
Links : Onlinestatus : Paulus ist offline
Registriert seit: Jan 2005
Beiträge: 35
Paulus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das weiss ich nicht. Ich weiss nur das bei so großen Dateien keine Daten eingetragen werden.
Mit Zitat antworten
  #14 (permalink)  
Alt 09-06-2005, 10:55
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Probier jetzt folgendes:
PHP-Code:
$string nl2br(file_get_contents("deine_datei.csv"));
$fp fopen("test_datei.csv","w");
$string $string."<br />Testeintrag";
fputs($fp,$string);
fclose($fp); 
Jetzt öffnest du die Datei (test_datei.csv) und schaust ob am Ende der String "Testeintrag" steht. Wenn ja dann funzt es, wenn nein dann ist die Datei wirklich zu gross.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #15 (permalink)  
Alt 09-06-2005, 12:58
Paulus
 Newbie
Links : Onlinestatus : Paulus ist offline
Registriert seit: Jan 2005
Beiträge: 35
Paulus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke. Werde ich heute Abend mal testen.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:54 Uhr.