php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.07.2007, 12:09  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard Datei-Operationen

Hallo,
um das Forum hier etwas zu beleben poste ich mal verstärkt hier

Wie kann ich schnell die Zeilen in einer CSV-Datei zählen? Logisch dass keine Programmiersprache die "Dimension" einer Datei kennen kann, sondern nur ihren Content-String. Hat aber vielleicht jemand eine schnelle Methode entwickelt?

count(file()) und substr_count(file_get_contents()) könnte ich benutzen, würde aber gerne umgehen, dass PHP die Daten lädt, gibts nen direkteren Weg, so dass eine interne PHP-Funktion in C das übernimmt? (möchte keine ausgefallenen Wege über exec())
Zergling-new ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.07.2007, 13:30  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also rein logisch betrachtet, ist es doch nicht möglich Datensätze zu zählen ohne die Datei zu
laden oder? Man weiß 'et nicht ...
Eventuell hilft dir dieser Befehl weiter? ccvs_count()
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline   Mit Zitat antworten
Alt 20.07.2007, 19:39  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Sehe grad keinen Zusammenhang zu ccvs und meinem Problem?!

Ja, dass die Datei durchlaufen werden muss ist klar, nur möchte ich das von C und nicht von PHP erledigt haben, weils einfach schneller ist. Dachte vielleicht gibts irgendwo versteckt was.
Zergling-new ist offline   Mit Zitat antworten
Alt 20.07.2007, 20:57  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Da hab ich mal wieder alles durcheinander geschmissen ...
Eine "versteckte" C-Funktion ist mir nicht bekannt. Aber dir geht es ja "nur" um Schnelligkeit.
Hierzu fällt mir nur stream_get_line() ein. Der Name lässt auf die Idee hinter der Funktion schließen ^^.
Zitat:
Zitat von Manual: Notes
My testing has found this function to be dramatically faster than fgets on PHP 5.1.14. The difference is probably due to how buffering is used internally. Compare the following:
PHP-Code:
<?php
// reads 10,000 lines in 27 seconds
while (!feof($handle)) {
    
$line fgets($handle1000000);
}
?>
vs.
<?php
// reads 10,000 lines in 0.5 seconds
while (!feof($handle)) {
    
$line stream_get_line($handle1000000"\n");
}
?>
Ansonsten fällt mir nur ein nicht immer die komplette Zeile zu lesen, sondern immer
nur das erste Zeichen. Liege ich jetzt richtig?
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline   Mit Zitat antworten
Alt 21.07.2007, 00:21  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Zergling,

da ich davon aussgehe, dass deine Applikation auf einem LINUX-Humpen läuft ist ein einfaches

Code:
system('wc -l /path/to/file.ext');
sicher zielführend (und performanter als das bisher vorgeschlagene).

EDIT: Peinlicher Vertipper. Habe "exe" schnell mal zu "ext" umgewandelt.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 21.07.2007, 03:36  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Bisher war substr_count() im Zusammenspiel mit fread() schneller als alle anderen Versuche. Ich melde mich bei vorzeigbaren Ergebnissen.
Zergling-new ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Hochgeladene Datei wird doppelt abgelegt thecracked PHP Tipps 2008 3 01.07.2008 16:31
Datei per Buttonklick runterladen... go1denboy PHP Tipps 2008 7 14.06.2008 20:25
Großer Baum -> Große Datei -> Hohe Ladezeit :( PsychoEagle PHP Tipps 2008 7 22.09.2007 12:44
Datei durchsuchen Wöllchen Beitragsarchiv 3 02.03.2006 22:23
[Erledigt] Datei mit &amp;amp;amp;amp;quot;w&amp;amp;amp;amp;quot; schreiben -&amp;amp;amp;amp;gt PHP-Fortgeschrittene 17 30.12.2005 13:58
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Datei mehrmals öffnen und schließen in einem Skript PHP Tipps 2005-2 14 14.07.2005 18:12
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Includete Datei nicht gleich ausgeben Madden PHP-Fortgeschrittene 1 12.05.2005 00:19
[Erledigt] mail versand mit anhang (-- fopen(), fread(), filesize() --) PHP Tipps 2005 5 29.01.2005 18:36
Datei mit php erzeugen Stümper PHP Tipps 2004 4 12.10.2004 12:51
php und ftp PHP Tipps 2004 4 07.10.2004 09:58
[Erledigt] datei editieren PHP Tipps 2004 1 10.09.2004 20:33
(ich schonwieder) Link seite automatisch imported_DJ Nuno PHP Tipps 2004 14 19.08.2004 17:42
Wie kann ich eine PHP Datei in eine HTML Datei umwandeln PHP Tipps 2004 2 12.08.2004 18:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
detei operationen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.