CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
31.01.2016, 13:58:39
|
Junior Member
|
|
Registriert seit: Jun 2003
Beiträge: 186
|
|
CSV-Datei von extern einlesen geht nicht
Hallo zusammen,
ich habe hier ein für mich seltsames Problem.
Und zwar möchte ich gerne die Daten von meinem Wechselrichter der PV-Anlage auslesen und weiter verarbeiten ggf. in eine MySQL-Datenbank schreiben.
Der Wechselrichter schreibt die Daten in eine CSV-Datei, was eigentlich super ist und zudem ist diese ganz einfach über einen Link zu erreichen.
z.B. http://kaco-wr1.ma-home.local/20160130.csv
Rufe ich diesen Link auf, so wird mir der Inhalt der CSV angezeigt.
Möchte ich diese Datei nun via PHP abrufen so lande ich IMMER im Timeout des Webservers (auf dem das Skript ausgeführt wird).
Ich hab es mit file(), file_get_contents(), fgetcsv() aber auch mit copy() um die Datei erstmal auf den Server zu kopieren. Denn wenn die Datei auf dem Webserver liegt kann ich diese auch auslesen.... es muss also ein Problem beim Verbinungsaufbau bzw. Zugriff auf die Datei sein. Leider wird keine Fehlermeldung angezeigt.
Ein einfaches Test-Script um den Inahlt der CSV anzuzeigen - endet im Timeout.
PHP-Code:
<?php $row = 1; if (($handle = fopen("http://kaco-wr1.ma-home.local/20160130.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); echo "<p> $num Felder in Zeile $row: <br /></p>\n"; $row++; for ($c=0; $c < $num; $c++) { echo $data[$c] . "<br />\n"; } } fclose($handle); } ?>
Ein einfacher Link, der auf die Datei zeigt funktioniert ohne probleme wenn man auf diesen klickt.
Keine Ahnung warum ich die Datei in PHP nicht einlesen kann, hoffe Ihr könnt mir auf die Sprünge helfen.
Gruß
Alex
|
31.01.2016, 15:19:15
|
Junior Member
|
|
Registriert seit: Jun 2003
Beiträge: 186
|
|
AW: CSV-Datei von extern einlesen geht nicht
Hab noch weiter etwas rumprobiert..
Beim nachstehenden Skript wird mit immer ausgegeben, dass die Datei angeblich nicht existiert.
PHP-Code:
<?php
if(file_exists("http://kaco-wr1.ma-home.local/20160130.csv")){
echo "Datei existiert!";
} else {
echo "Datei existiert nicht!!";
}
Direkter Link funktioniert nach wie vor, PHP sagt bei der Prüfung die Datei existiert nicht.
Versteh das im Moment nicht so wirklich.
Ach ja: allow_url_fopen ist in der php.ini auf on
|
01.02.2016, 13:47:45
|
Member
|
|
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
|
|
AW: CSV-Datei von extern einlesen geht nicht
file_exists() greift (soweit ich weiss) auf das lokale Filesystem zu, sprich untersucht , ob eine Datei oder ein Verzeichnis vorhanden ist. URL`s sind also keine gültige Pfadangabe.
Lies die Datei mit file() ein und prüfe, ob sie leer ist.
PHP-Code:
$zeilen = file("http://kaco-wr1.ma-home.local/20160130.csv"); print_r($zeilen);
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
|
01.02.2016, 14:15:36
|
Junior Member
|
|
Registriert seit: Jun 2003
Beiträge: 186
|
|
AW: CSV-Datei von extern einlesen geht nicht
Hey sysop,
vielen Dank für die Antwort.
Leider funktioniert auch das nicht, läuft wieder in einen Timeout.
Ich bin mit meinem Latein echt am Ende, mit einem ganz einfachen Link auf die Datei wie :
<a href="http://kaco-wr1.ma-home.local/20160130.csv">Linkname</a> funktioiert einwandfrei!
Die CSV wird dann im Browser geöffnet und dargestellt.
|
02.02.2016, 16:06:51
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: CSV-Datei von extern einlesen geht nicht
Wenn auf Deinem Server erlaubt:
PHP-Code:
set_time_limit(0);
oder in der php. ini entsprechend anpassen.
Musst Du die ganze Datei in einem Stück einlesen? Wie groß ist die Datei, dass das Script in den Timeout läuft?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
02.02.2016, 18:04:07
|
Junior Member
|
|
Registriert seit: Jun 2003
Beiträge: 186
|
|
AW: CSV-Datei von extern einlesen geht nicht
Das ist auf meinem Server schon erlaubt auch könnte ich die Ausführungszeit nochmals hochsetzten.
Aber die Datei hat 7kb und sollte diesbezüglich sehr schnell eingelesen sein.
Hab mal zum Wechselrichter durchgeroutet, ist ja nix geheimnisvolles was meine PV grade so liefert.
http://lan-seeacker.dyndns.org:8080
Direkter Link auf die CSV: http://lan-seeacker.dyndns.org:8080/20160202.csv
So könnt Ihr auch gerne selbst mal testen ob Ihr an die CSV kommt.
Hab's grade auch nochmal mit der dyndns.org-Adresse getestet, ich komme nicht an die csv-Datei. :-(
Hab schon in den Einstellungen des Wechselrichters gesucht ob es da irgendeine Option gibt die so einen Zugriff blockieren bzw. unterbinden könnte, hab aber nichts dergleichen gefunden.
Würde auch keinen Sinn machen wenn man die Daten eh exportieren kann.
|
04.02.2016, 09:49:34
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: CSV-Datei von extern einlesen geht nicht
Prüfe (nochmal) die Servereinstellungen. Welche Rechte hat das Script (index.html)?
Beim Zugriff erhalte ich folgende Fehlermeldung
Zitat:
unable to connect to lan-seeacker.dyndns.org:8080 (Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte. )
|
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
04.02.2016, 13:59:26
|
Junior Member
|
|
Registriert seit: Jun 2003
Beiträge: 186
|
|
AW: CSV-Datei von extern einlesen geht nicht
Die Rechte kann ich so leider nicht prüfen, denn die Adresse leitet direkt auf den internen Webserver des Wechselrichters!
Der Server reagiert leider nicht immer sehr zuverlässig!
Einfach nochmal probieren.
Hab ja zwei Wechselrichter, und das Phänomen tritt bei Beiden auf.
|
04.02.2016, 17:52:26
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: CSV-Datei von extern einlesen geht nicht
Nimm mal Kontakt zu Matthias Haag (CTO von KACO new energy GmbH) auf.
Er oder einer seiner Mitarbeiter sollte Dir die Frage beantworten können, ob Du überhaupt wie von Dir gewünscht auf den Webserver auf Deinem Wechselrichter blueplanet 4.6 TL1 zugreifen kannst/darfst.
Der externe Verscuh war möglich. Jedoch jeglicher (auslesende) Zugriff auf eine beliebige Datei auf dem Webserver (*.css, *.gif, *.js etc.) war von extern nicht möglich. Vlt. klappt es innerhanlb Deines Netzwerkes.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
05.02.2016, 13:22:09
|
Member
|
|
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
|
|
AW: CSV-Datei von extern einlesen geht nicht
Mir geht es genauso, kann auch nichts lesen. Möglicher Weise ist der ausgelieferte header auch nicht http konform und PHP verweigert deshalb die Annahme.
fsocksopen erlaubt den Zugriff genauso wenig.
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:10:14 Uhr.
|