php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.04.2010, 09:02  
Neuer Benutzer
 
Registriert seit: 26.04.2010
Beiträge: 2
PHP-Kenntnisse:
Fortgeschritten
hausmaus befindet sich auf einem aufstrebenden Ast
Standard fwrite() funktioniert nicht innerhalb einer Schleife

Hallo,

leider funktionieren zwei meiner per Cronjob automatisierter Skripte auch bei manuellem Aufruf nicht mehr (zuvor jahrelang problemlos im Einsatz, nichts am Skript geändert).
fwrite() wird außerhalb der Schleife problemlos aufgerufen (Erstellen der Kopfzeile für ein Listing unserer Shopprodukte).
Während die Schleife alle Produkte in die *.txt-Datei für die Suchmaschine einfügen soll, wird nur die Kopfzeile (erste Zeile des untenstehenden PHP-Codes) geschrieben und keine Artikel durch die Schleife hinzugefügt.
PHP-Code:
fwrite($fp"id"."\t"."titel"."\t"."preis"."\t"."link"."\t"."bild_url"."\t"."beschreibung"."\t"."zustand"."\n");

while(
$row mysql_fetch_array($res))
{
[..
hier werden die Daten für $export erzeugt..]

$export $artikel['nr'] ."\t"$artikel['name']."\t"$artikel['preis'] ."\t"$artikel['link'] ."\t"$artikel['imglink'] ."\t"$artikel['descr'] ."\t""neu" ."\n";

fwrite($fp$export);
echo 
$export."\n";

Der Array wird bei Aufruf der PHP-Datei problemlos angezeigt (echo). In die *.txt-Datei ($fp) wird lediglich die Kopfzeile eingefügt, d.h. die Datei ist prinzipiell beschreibbar und wird vor der Schleife geöffnet (fopen(), flock() )und nach Abarbeitung der Schleife geschlossen. Die Schreibrechte habe ich natürlich überprüft, sollten aber kein Problem darstellen, da außerhalb der Schleife auch in die Datei geschrieben werden kann.

Das Skript lief wie gesagt jahrelang problemlos, ich bin lediglich durch die Fehlermeldung, dass keine Artikel in das Shoplisting eingefügt wurden, auf den Fehler (leere Datei nur mit Kopfzeile) aufmerksam geworden.

Wo ist der Fehler? Es wurde nichts verändert an einem funktionierenden Skript....

Vielen Dank,
hausmaus
hausmaus ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.04.2010, 09:04  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.838
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi.

Gibt es eine Fehlermeldung (ERROR_REPORTING(E_ALL))?

Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline  
Alt 26.04.2010, 09:04  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Da ich nicht den ganzen Code sehe, versuche ich mal ins Blaue zu raten:

Hast du evt am Ende der Schleife vergessen ein
PHP-Code:
<?php
fclose
($fp);
zu machen?

Zitat:
Gibt es eine Fehlermeldung (ERROR_REPORTING(E_ALL))?
error_reporting(-1) ist besser, weils wirklich alles anzeigt
Paul.Schramenko ist offline  
Alt 26.04.2010, 12:53  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.991
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Anscheindend selektiert die Query nichts mehr..
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 26.04.2010, 13:45  
Neuer Benutzer
 
Registriert seit: 26.04.2010
Beiträge: 2
PHP-Kenntnisse:
Fortgeschritten
hausmaus befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Tips.
Die Datei wird am Ende des Schleifendurchlaufs mit fclose ($fp); geschlossen, das war nicht das Problem.
error_reporting zeigte leider keinen Fehler.

Das Problem habe ich jetzt umgangen, indem ich den geünschten Dateiinhalt zuerst in eine Variable $txt schreibe und $txt dann mit
PHP-Code:
$fp fopen ($prdatei'w' );
        
flock($fp,2);
    
fwrite($fp,$txt);
    
flock($fp,3);
    
fclose($fp); 
in die entsprechende Datei schreibe. Damit funktioniert es nun (wieder).
hausmaus ist offline  
 


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] foreach Schleife lord_icon PHP Tipps 2010 11 06.02.2010 01:15
Zufällig erstellte Werte einzeln aus einer Schleife holen atthex PHP Tipps 2009 3 04.01.2010 19:03
[Erledigt] checkboxen innerhalb einer while schleife Balmore PHP Tipps 2009 18 27.05.2009 10:11
While Schleife innerhalb einer Funktion aufrufen goldsaft PHP Tipps 2008 12 24.11.2008 20:04
For Schleifer innerhalb einer While Schleife? MasterMind187 PHP Tipps 2008 2 30.09.2008 16:26
geladene daten aus einer schleife in die datenbank speichern Bonaparte PHP Tipps 2008 2 05.09.2007 22:26
Session funktioniert nicht bei session.use_cookies = Off Quagga PHP Tipps 2007 13 13.01.2007 18:27
schleife funktioniert nicht?! $$$ ThiKool $$$ PHP Tipps 2006 3 18.07.2006 07:52
Schleife nach Tastendruck beenden schnurzli PHP Tipps 2006 7 24.03.2006 18:56
Warum wird die erste Schleife nur einmal durchlaufen ? PHP Tipps 2006 12 03.03.2006 20:04
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
Schleife innerhalb von preg_match Jacks Rache PHP-Fortgeschrittene 2 23.09.2005 00:40
kleines problem mit fwrite Tic Rederon PHP Tipps 2005-2 6 23.08.2005 08:24
ShowIt_V1.8.14 PHP Tipps 2005 1 23.03.2005 19:13
[Erledigt] javascript funktioniert nicht innerhalb von div-tag HTML, Usability und Barrierefreiheit 5 27.10.2004 13:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fwrite funktioniert nicht, fwrite php, php fwrite funktioniert nicht, php fwrite, php fwrite geht nicht, fwrite for schleife, fwrite in schleife, fwrite funktioniert nicht immer, while schleife in fwrite, http://www.php.de/php-einsteiger/67285-fwrite-funktioniert-nicht-innerhalb-einer-schleife.html, fwrite klappt nicht, fwrite() aufrufen, fwrite in schleife php, fwrite geht nicht, fwrite while, nicht innerhalb einer, php echo erst nach abarbeitung, \\t funtioniert nicht, \\n php fwrite geht nicht, fwrite($fp,

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:38 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