php, file_get_contents , verschiedene Umgebungen
mathefritz
- php
1 dedlfix0 mathefritz
0 Rolf B0 mathefritz0 Rolf B0 mathefritz0 dedlfix
0 mathefritz1 dedlfix
Hallo miteinander,
es hat zwar mit diesem meinem Beitrag zu tun, der thread ist aber schon etwas unübersichtlich, daher dieser neue
Die Datei http://flh.lima-city.de/Zentrale/KomandoZentrale/BesucherZaehlerAusgabeFuerWirblerCH.php enthält am Schluß
<?php
$zlrfile = "http://www.wirbler.ch/CHINA3/" .
"BeratertätigkeitWirblerMirbler/" .
"BeratertätigkeitWirblerMirblerBesucherZaehler.html";
echo "Zähler Beratertätigkeit: "
. file_get_contents( $zlrfile ) ;
?>
und das funktionhiert, obwohl da auf einen externen Server zugriffen wird, nämlich wordl4you.com;
wogegen
in
http://flh.lima-city.de/Zentrale/KomandoZentrale/WEBSEITENMITZaHLER/EGON/LhrV0.php
gleicher Code nicht klappt,
und
auch der Inhalt der existierenden
Datei
http://flh.lima-city.de/Zentrale/KomandoZentrale/structure%20de%20service%20-%20Kopie/1Negotium/2Mittere/3PraetiumInfamis/4Confirmare/Lingua/Domesticus/Home1BesucherZaehler.html
auf
keine mir bekannte Weise in eine String zu lesen möglich scheint.
( von den Links die
http://flh.lima-city.de/Zentrale/KomandoZentrale/WEBSEITENMITZaHLER/EGON/LhrV0.php
ausgibt
sind nur die 2 in der 1ten Zeile schon gültig
)
DATEI
http://flh.lima-city.de/Zentrale/KomandoZentrale/BesucherZaehlerAusgabeFuerWirblerCH.php
<!DOCTYPE HTML>
<html>
<head>
<META HTTP-EQUIV="content-type" CONTENT="text/html" charset="utf-8">
<title>the friends of italian english simple past</title>
<style>
</style>
<link rel="stylesheet" type="text/css" href="default.css">
</head>
<body>
<nav>
<hr style="clear: right">
<p style="margin:0px">
<a href="home.htm">Home</a>
<a href="tips.htm">Tipps und Tricks</a>
<a href="problems.htm">problem solvings</a>
<a href="products.htm">Produkte</a>
<a href="about.htm">Über unseren Betrieb</a>
<a href="contact.htm">Kontakt</a></p>
<hr>
</nav>
<!-- Arbeitsbereich Anzeige der besuchten Webseiten in 1.: Webseitenurl 2.: Zählerstand -->
<?php
$zlrfile = "http://www.wirbler.ch/CHINA3/" .
"BeratertätigkeitWirblerMirbler/" .
"BeratertätigkeitWirblerMirblerBesucherZaehler.html";
echo "Zähler Beratertätigkeit: "
. file_get_contents( $zlrfile ) ;
?>
</body>
</html>
</body>
</html>
DATEI
``http://flh.lima-city.de/Zentrale/KomandoZentrale/WEBSEITENMITZaHLER/EGON/LhrV0.php`
<?php
include "ArrayOfUrls.php";
foreach($Sffx as $tail)
{
$comb = PrFx . $tail;
$file = $comb . '.php';
echo "<a href=", "'", $file , "'", "target= '_blank'", ">", $tail , "</a>"
;
echo " Besucher: "
;
echo "<a href=", "'", $comb, "BesucherZaehler.html","'",
" target= '_blank'", ">Zähler<br><br>
</a>"
;
echo "Test Zähler direkt: ",file_get_contents($comb . "BesucherZaehler.html"), '<br>';
} // foreach
$file = $_SERVER['DOCUMENT_ROOT'] . "/Zentrale/KomandoZentrale/" .
"structure%20de%20service%20-%20Kopie/" .
"1Negotium/2Mittere/3PraetiumInfamis/" .
"4Confirmare/Lingua/Domesticus/Home1BesucherZaehler.html";
echo '<br>', "Test mit DOCUMENT_ROOT: " . file_get_contents( $file ) , '<br>';
$file = "http://flh.lima-city.de/Zentrale/KomandoZentrale/" .
"structure%20de%20service%20-%20Kopie/1Negotium/2Mittere/" .
"3PraetiumInfamis/4Confirmare/Lingua/Domesticus/" .
"Home1BesucherZaehler.html";
echo '<br>',
"Test mit http: " . file_get_contents( $file ) , '<br>';
;
$zfile = "http://www.wirbler.ch/CHINA3/" .
"BeratertätigkeitWirblerMirbler/" .
"BeratertätigkeitWirblerMirblerBesucherZaehler.html";
echo "Zähler Beratertätigkeit: ",
. file_get_contents( $file ) ;
?>
INCLUDE DATEI ArrayOfUrls.php
ZU OBIGER, im selben Ordner, wird noch wachsen
<?php
define(
"PrFx" , "../../structure%20de%20service%20-%20Kopie/"
);
$Sffx = array(
"1Negotium/2Mittere/3PraetiumInfamis/4Confirmare/Lingua/Domesticus/Home1",
"6Impressum/LinguaSanskrit/Deliberationis/BeratertaetigkeitWirblerMirbler1",
"1Negotium/2Mittere/Lingua/Ricipere/Preisliste3b",
"6Impressum/7Avaritia/8Ductus/Lingua/Ricipere/index",
"6Impressum/LinguaSanskrit/QuestionisConformatio/indexMIRBLERPRODUKTE"
); // ENDE array Sffx
// [ 1Negotium/2Mittere/3PraetiumInfamis/Lingua/QuestionisFructus/MIRBLER SIGN UP.php
// 1Negotium/2Mittere/3PraetiumInfamis/Lingua/QuestionisFructus/WIRBLER SIGN UP2.php
// 1Negotium/2Mittere/3PraetiumInfamis/Lingua/QuestionisFructus/CIRBLER SIGN UP3.php
?>
Tach!
wogegen in
http://flh.lima-city.de/Zentrale/KomandoZentrale/WEBSEITENMITZaHLER/EGON/LhrV0.php
gleicher Code nicht klappt,
Ruf die URL doch mal im Browser auf. Ich bekomme da einen Syntaxfehler angezeigt.
dedlfix.
Hallo dedlfix,
ja,
sorry, ist korrigiert, das Komma am Ende der letzten echo-Zeile war falsch
Tach!
sorry, ist korrigiert, das Komma am Ende der letzten echo-Zeile war falsch
Gut. Und nun? Fehler behoben? Wenn nicht, dann musst du nun mit dem Debugging beginnen. Wenn du zum Beispiel einen Wert ausgegeben haben möchtest, und der erscheint nicht, dann forsche mit var_dump() nach, was deine Variablen enthalten und was deine Funktionsaufrufe für Rückgabewerte bringen. var_dump() gibt immer einen lesbaren Wert aus, auch bei Werten, die in PHP bei normalem echo keine Ausgabe erzeugen (Leerstring, false, null). Viele Funktionen geben im Fehlerfall ein false zurück, vermutlich auch dein file_get_contents()-Aufruf. Es ist Aufgabe des Debuggings, diese Gegebenheiten herauszufinden.
dedlfix.
Hallo mathefritz,
So, ja, und? Was genau ist jetzt das Problem?
Wenn ich den ersten Link anklicke, komme ich nach Home1.php in Lingua Domesticus und bekomme dies angezeigt:
*******************************
Home1BesucherZaehler.txt
Aha. kopfkratz
Wenn ich den zweiten Link anklicke, mault mich dein Indianerhäuptling an und sagt, dass er von Home1BesucherZaehler.html in Lingua Domesticus noch nichts gehört hätte, er mir aber nach einigem Beraten vorschlagen wolle, ich könnte ja mal mit Home1BesucherZaehler1.txt reden. Und tatsächlich hat mich dessen Pferd 16 mal angewiehert, als ich es gestriegelt habe. Hast Du da meinen Vorschlag von 13:56 Uhr teil umgesetzt, aber nicht überall txt geschrieben, wo html steht?
Wenn das so nicht deine Erwartung ist - was ist sie dann?
Rolf
ja, das war ein test, weil ich sehen wollte ob ich dort überhaupt hinkomme; gibt hale Kuddelmuddel wenn einer ändert und andere schon probieren.
Hallo mathefritz,
wenn ich diese HTML Datei mit dem (küchen-?)lateinischen Pfad im Browser aufrufe, bekomme ich einfach einen String mit der Besucherzahl als Quelle angezeigt.
D.h. das ist keine HTML Datei. Vielleicht scheitern deine Einleseversuche daran, dass die Datei als HTML interpretiert werden soll. Verheirate sie mal mit einem Texteditor, dann heißt sie mit Nachnamen .txt und Herr HTML-Interpreter hält sie nicht mehr für ein Nedestro-Kind
Rolf
Hallo Rolf B,
danke
für's Reinschauen; die Kl. Namen sind Macke meines Bekannten dem ich da zu helfen versuche,
auch
die Idee 'html' zu nehmen, ich wollte auch 'txt';
habe jetzt alles - hoffentlich - auf 'txt' umgestellt, was aber nichts änderte;
https://flh.lima-city.de/Zentrale/KomandoZentrale/WEBSEITENMITZaHLER/EGON/LhrV0.php
enthielt
noch einen Tippfehler, in der Dateinamenvariable, nun bekomme ich da beim Zugriff auf den Fremdrechner das erwartete, während von lima-city nichts komm; irgendwie find ich wohl den richtigen Pfad nicht .
Hallo mathefritz,
wenn ich auf der LhrV0.php Seite auf den ersten Link klicke, gelange ich nach
https://flh.lima-city.de/Zentrale/KomandoZentrale/structure%20de%20service%20-%20Kopie/1Negotium/2Mittere/3PraetiumInfamis/4Confirmare/Lingua/Domesticus/Home1.php
und dort IST ein Besucherzähler, aber er versteckt sich hinter diesem Gewimmel aus Rahmenobjekten. Sind das Kronen? Goldene Teekannen? Keine Ahnung. Aber er ist da!
PS: Dein Scheunentor ist immer noch weit offen. Hast Du meine Private Nachricht entdeckt?
Rolf
Hallo Rolf,
sehn
tu ich, aber wieso's kommt, kann ich in den Kraut und Rüben meine Bekannten nicht entdecken.
Ich
hab in einer Kopie der LhrV0 den Rückgabewert von file_get_contents gedumpt, und natürlich ist er false, aber das ist für mich zu wenig information. Wenn man keinen Offset für file_get_contents angibt ist der doch hoffentlich 0 ?; der Pfad stimmt meine ich.
Tach!
hab in einer Kopie der LhrV0 den Rückgabewert von file_get_contents gedumpt, und natürlich ist er false, aber das ist für mich zu wenig information.
Die Information ist, dass der Abruf misslang.
der Pfad stimmt meine ich.
Wenn man die URL direkt im Browser abfragt, bekommt man ein Ergebnis, also scheint der Pfad zu stimmen. Nun braucht man zu der Statusmeldung (false) noch einen Text, damit man mehr zur Ursache erfahren kann. Sollte eigentlich ausgegeben werden, wenn man das error_reporting auf E_ALL stehen hat und display_errors auf on. Und diese beiden Konfigurationswerte sollte beim Entwickeln immer in der Form gesetzt sein, damit man auf Probleme aufmerksam wird. Im Produktivbetrieb empfiehlt sich stattdessen die Ausgabe in in Logfile.
dedlfix.
Danke;
also Syntax Fehler bekomm ich gemeldet
aber ob und wie ich bei lima-city
error_reporting auf E_ALL
display_errors auf on
setzen kann hab ich im augenblick keine Ahnung ;
phpinfo sagt error_reporting local value 22517, master value 22517
display_errors local value on, master value off
Moin Fritz,
also Syntax Fehler bekomm ich gemeldet
PHP meldet einen Syntaxfehler?
aber ob und wie ich bei lima-city
error_reporting auf E_ALL
display_errors auf onsetzen kann hab ich im augenblick keine Ahnung ;
Das Error Reporting kannst du mit der gleichnamigen Funktion in deinem Skript setzen und display_errors ist eine Konfigurationseinstellung.
Viele Grüße
Robert
Tach!
aber ob und wie ich bei lima-city
error_reporting auf E_ALL
display_errors auf onsetzen kann hab ich im augenblick keine Ahnung ;
Um sie in einer Konfigurationsdatei zu setzen, muss man ein paar Informationen zum System haben, um die richtige Datei zu finden. Eigentlich müssten PHP-Installationen bei Providern nur noch im FCGI- oder FPM-Modus laufen (was phpinfo() verrät) und damit .user.ini
oder php.ini
akzeptieren. Bei php.ini gelten nur die Exemplare, die im Verzeichnis des gestarteten Scripts liegen, .user.ini werden hingegen auch bis hoch zum DocumentRoot gesucht. Wenn phpinfo() keine dieser Dateien als verwendet listet, dann bleibt noch, zum Script-Start die Funktion error_reporting() aufzurufen, und das display_errors kann man mit ini_set() einstellen.
phpinfo sagt error_reporting local value 22517, master value 22517
display_errors local value on, master value off
Also display_errors ist nicht das Problem, jedoch der Wert für error_reporting. Da fehlt E_WARNING und noch zwei weniger wichtige für ein E_ALL.
dedlfix.
Nochmal Dank an alle,
das
Problem war behoben als ich direkte Spaces statt der %20
in der
INCLUDE-DATEI ArrayOfUrls.php für LhrV0.php verwendete.
Die
Fehlermeldungen sagen leider no such file OR direktory, aber nicht wo in einem langem Pfad, obwohr die Info eigentlich verfügbar sein müßte.
Ist
noch etwas unklar, wann ' ', wann %20 wann zu verwnden ist .
Man müßte also eigentlich den Titel des Threads ändern.
Gute Nacht Fritz
Tach!
Ist noch etwas unklar, wann ' ', wann %20 wann zu verwnden ist .
Im URL-Kontext ist %20 notwendig. Im Dateisystem nicht. Es sei denn, der Dateiname besteht aus diesen Zeichen.
dedlfix.