PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   probleme mit include (https://www.php-resource.de/forum/php-developer-forum/102138-probleme-mit-include.html)

Canonn 05-09-2011 07:05

probleme mit include
 
Hallo Zsammen,
wenn die Seite geladen wird möchte, dass eine Function der Auswertungen durchfürt, mit geladen wird. Diese Function kommt sehr oft vor deshalb möchte ich nur 1x auf Server haben und immer darauf zugreifen.
Das sieht bei mir so aus:
Auf server ist die Datei abgelegt mit dem Inhalt was in Funktionen zwischen { } Klammern steht und unter den Namen "readdata.php" abgeseichert.

Wenn die Seite geladen wird sollte dies mitgeladen werden. Ich versuche so aufzurufen:
PHP-Code:

<?php
function foo($data) {
include (
readdata.php);
}
?>

Die Inhalt von $data sollte nun verabeitet werden.

Da beomme immer eine Fehlermeldung:
Warning: foo(readataphp) [function.foo]: failed to open stream: No such file or directory...bla..bla

Wo liegt hier das Problem bzw. wie kann ich ne Function auf Server ablegen und richtig aufrufen ?

ApoY2k 05-09-2011 07:16

PHP-Code:

include("readdata.php"); 

ausprobiert?

Canonn 05-09-2011 11:38

Zitat:

Zitat von ApoY2k (Beitrag 656443)
PHP-Code:

include("readdata.php"); 

ausprobiert?

Hallo ApoY2k,
nein das habe ich noch nicht ausprobiert aber scheint eine sehr gute Idee zu sein.
Probiere gleich aus so bald ich zuhause bin.

fireweasel 05-09-2011 12:39

Zitat:

Zitat von Canonn (Beitrag 656442)
Hallo Zsammen,
wenn die Seite geladen wird möchte, dass eine Function der Auswertungen durchfürt, mit geladen wird. Diese Function kommt sehr oft vor deshalb möchte ich nur 1x auf Server haben und immer darauf zugreifen.

include_once() oder require_once() könnten hier eher passend sein.

Zitat:

Das sieht bei mir so aus:
Auf server ist die Datei abgelegt mit dem Inhalt was in Funktionen zwischen { } Klammern steht und unter den Namen "readdata.php" abgeseichert.

Wenn die Seite geladen wird sollte dies mitgeladen werden. Ich versuche so aufzurufen:
PHP-Code:

<?php
function foo($data) {
include (
readdata.php);
}
?>

Die Inhalt von $data sollte nun verabeitet werden.

Da beomme immer eine Fehlermeldung:
Warning: foo(readataphp) [function.foo]: failed to open stream: No such file or directory...bla..bla

Wo liegt hier das Problem ...
Deine Funktionsdeklaration sagt mir, dass egal, mit welchen Argumenten du foo() aufrufst, include() immer den gleichen konstanten Wert übergeben bekommt: Der besteht aus zwei miteinander verketteten Konstanten namens "readdata" und "php". Und weil PHP nicht definierte Konstanten einfach als Zeichenketten interpretiert, die den gleichen Wert wie ihre Namen haben, versucht include() die Datei mit dem Pfad
'readdata' . 'php' ( == 'readdataphp')
zu lesen. Hättest du error_reporting() auf E_ALL gestellt, hätte dir PHP gesagt, dass du hier offensichtlich was falsch machst. ;) Allerdings sollte einem schon im Editor auffallen, dass da etwas nicht stimmt -- wenn der Editor vernünftiges Syntaxhighlighting hat.

Man kann übrigens die Existenz einer Datei mit is_file($path) ganz einfach überprüfen.

Zitat:

PHP-Code:

include("readdata.php"); 


Besser ist:
include('readdata.php');
Wenn in der Zeichenkette nichts interpoliert werden soll, dann ist es sinnvoller, die einfachen Hochkommas zu verwenden. Das vermeidet Ärger.

h3ll 05-09-2011 12:43

Die Klammern kann man sich bei include sparen, da include keine Funktion sondern ein Sprachkonstrukt ist.

Canonn 06-09-2011 09:29

Hallo Zusammen,
vielen Dank für die Anregungen. Habe noch gestern die von Euch vorgeschlagenen Korrekturen ausprobiert. Nach dem ich die fehlende
" Zeichen eingesetzt habe, lief Alles einwandfrei.
PHP-Code:

include ("readdata.php"

:danke:


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:59 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG