Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Seltsames verhalten eines PHP-Scriptes (etwas für php-cracks)

0 views
Skip to first unread message

Suther

unread,
Nov 2, 2009, 4:58:18 AM11/2/09
to
Ich habe ein PHP-Script: http://pastebin.com/d61334031
Das ließt aus einer DB Daten aus, und soll diese via PEAR (File_CSV) in eine
CSV-Datei schreiben...

JETZT kommts, ... es funzt super auf der Konsole von Linux, (php5 -f
/.fundaccess.php)
Packe ich das Script aber in einen Cronjob, führt er den Befehl aus... der
print_r- Befehl wird auch ausgeführt, und sendet mir in der Cron-
Bestätigungsmail die Datensätze, ABER die CSV-Datei wird nicht angelegt.

Hat jemand eine Idee, woran das liegen kann? Hänge nun schon ethliche Zeit
an dem Problem, komme nicht weiter.


Jens Himmelrath

unread,
Nov 2, 2009, 5:22:10 AM11/2/09
to
Suther wrote:
> Ich habe ein PHP-Script: http://pastebin.com/d61334031
> Das lie�t aus einer DB Daten aus, und soll diese via PEAR (File_CSV) in eine
> CSV-Datei schreiben...
>
> JETZT kommts, ... es funzt super auf der Konsole von Linux, (php5 -f
> /.fundaccess.php)
> Packe ich das Script aber in einen Cronjob, f�hrt er den Befehl aus... der
> print_r- Befehl wird auch ausgef�hrt, und sendet mir in der Cron-
> Best�tigungsmail die Datens�tze, ABER die CSV-Datei wird nicht angelegt.
>
> Hat jemand eine Idee, woran das liegen kann? H�nge nun schon ethliche Zeit
> an dem Problem, komme nicht weiter.

Mal ins Blaue geraten: Der Cronjob f�hrt das Ding aus und befindet sich
in einem anderen Arbeitsverzeichnis, weshalb er keine Rechte zum
schreiben der Datei besitzt? Was sagt denn das getcwd() in beiden f�llen?

Gr��e,
Jens

Knut Kohl

unread,
Nov 2, 2009, 5:24:10 AM11/2/09
to
Hi,

Suther schrieb am 02.11.2009 in de.comp.lang.php.misc:

> Ich habe ein PHP-Script: http://pastebin.com/d61334031

> Das lie�t aus einer DB Daten aus, und soll diese via PEAR (File_CSV) in eine
> CSV-Datei schreiben...

> JETZT kommts, ... es funzt super auf der Konsole von Linux, (php5 -f
> /.fundaccess.php)

Mit welchem User, welche Rechte hat der in dem Verzeichnis?!

> Packe ich das Script aber in einen Cronjob, f�hrt er den Befehl aus.... der

> print_r- Befehl wird auch ausgef�hrt, und sendet mir in der Cron-

> Best�tigungsmail die Datens�tze, ABER die CSV-Datei wird nicht angelegt.

Kommt daruf an, in welchem Verzeichnis l�uft der Cronjob, welcher USer,
welche Rechte ;-)

> $res = File_CSV::write("./outfile.csv", $headerline, $conf);

Du hast hier einen rel. Pfad drin, suche mal im Dateisystem die Datei,
vielleicht ist die ja doch irgendwo?!

Besser w�re z.B.

> $res = File_CSV::write(dirname(__FILE__).'/outfile.csv', $headerline, $conf);

Damit w�re das Verzeichnis zumindest vorgegeben.

Knut


--
http://es-f.com
Web frontend for esniper, the console application for sniping eBay auctions.

Sebastian Neubert

unread,
Nov 2, 2009, 5:25:06 AM11/2/09
to
Suther schrieb:

> Ich habe ein PHP-Script: http://pastebin.com/d61334031
> Das lie�t aus einer DB Daten aus, und soll diese via PEAR (File_CSV) in eine
> CSV-Datei schreiben...
>
> JETZT kommts, ... es funzt super auf der Konsole von Linux, (php5 -f
> /.fundaccess.php)
> Packe ich das Script aber in einen Cronjob, f�hrt er den Befehl aus... der
> print_r- Befehl wird auch ausgef�hrt, und sendet mir in der Cron-
> Best�tigungsmail die Datens�tze, ABER die CSV-Datei wird nicht angelegt.
>
> Hat jemand eine Idee, woran das liegen kann? H�nge nun schon ethliche Zeit
> an dem Problem, komme nicht weiter.

Hallo,

zum einen sehe ich nirgends, wo du das Filehandle f�r das csv-File
aufmachst. Und dann k�nnstest du der Einfachheit halber mal die
Funktionen fgetcsv() und fputcsv() anschauen. Mit PEAR kenn ich mich
weniger aus.


$f = fopen("new.csv", "r+");
if ($f !== FALSE)
{
while ($data = mysql_fetch_array($result,MYSQL_ASSOC))
{
fputcsv($f, $data);
}
fclose($f);
}
else
{
echo "Fehler beim Anlegen der Datei.";
}


Auch bei fputcsv kann man explizit Delimiter und Quotation Characters
angeben.

HTH,
Sebastian

weitere Lekt�re unter www.php.net

Suther

unread,
Nov 2, 2009, 2:17:58 PM11/2/09
to
Jups, jups, jups,
eigene Blödheeit im Spiel.
Cron hat das Script im Basisverzeichnis des Users ausgeführt, und da lag die
Datei dann auch versteckt. Und ich depp schau die ganze Zeit daran vorbei.


Danke für eure hilfe


Jens Himmelrath wrote:

> Suther wrote:
>> Ich habe ein PHP-Script: http://pastebin.com/d61334031

>> Das ließt aus einer DB Daten aus, und soll diese via PEAR (File_CSV) in


>> eine CSV-Datei schreiben...
>>
>> JETZT kommts, ... es funzt super auf der Konsole von Linux, (php5 -f
>> /.fundaccess.php)

>> Packe ich das Script aber in einen Cronjob, führt er den Befehl aus...
>> der print_r- Befehl wird auch ausgeführt, und sendet mir in der Cron-
>> Bestätigungsmail die Datensätze, ABER die CSV-Datei wird nicht angelegt.
>>
>> Hat jemand eine Idee, woran das liegen kann? Hänge nun schon ethliche


>> Zeit an dem Problem, komme nicht weiter.
>

> Mal ins Blaue geraten: Der Cronjob führt das Ding aus und befindet sich


> in einem anderen Arbeitsverzeichnis, weshalb er keine Rechte zum

> schreiben der Datei besitzt? Was sagt denn das getcwd() in beiden fällen?
>
> Grüße,
> Jens

0 new messages