SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 31.01.2016, 14:58:39
AlexD AlexD ist offline
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($handle1000",")) !== 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
Mit Zitat antworten
  #2  
Alt 31.01.2016, 16:19:15
AlexD AlexD ist offline
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
Mit Zitat antworten
  #3  
Alt 01.02.2016, 14:47:45
sysop sysop ist offline
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.
Mit Zitat antworten
  #4  
Alt 01.02.2016, 15:15:36
AlexD AlexD ist offline
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.
Mit Zitat antworten
  #5  
Alt 02.02.2016, 17:06:51
Benutzerbild von vt1816
vt1816 vt1816 ist offline
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!
Mit Zitat antworten
  #6  
Alt 02.02.2016, 19:04:07
AlexD AlexD ist offline
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.
Mit Zitat antworten
  #7  
Alt 04.02.2016, 10:49:34
Benutzerbild von vt1816
vt1816 vt1816 ist offline
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!
Mit Zitat antworten
  #8  
Alt 04.02.2016, 14:59:26
AlexD AlexD ist offline
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.
Mit Zitat antworten
  #9  
Alt 04.02.2016, 18:52:26
Benutzerbild von vt1816
vt1816 vt1816 ist offline
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!
Mit Zitat antworten
  #10  
Alt 05.02.2016, 14:22:09
sysop sysop ist offline
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.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei einlesen mit file - Datei nicht vorhanden Piet PHP Grundlagen 1 25.04.2014 11:57:05
Datei in Array einlesen ohne spez. Dateinamen doido1 PHP Grundlagen 1 24.10.2010 18:36:01
Inhalt einer Datei ab einem Fixpunkt einlesen rkersting PHP für Fortgeschrittene und Experten 11 21.03.2005 13:52:47
Datei einlesen und weiterverarbeiten LudwigB PHP Grundlagen 3 18.06.2004 20:02:12
Datei einlesen und parsen? Schnoop PHP für Fortgeschrittene und Experten 5 29.04.2003 19:57:49


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:00:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt