Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Verständnisproblem beim php include Befehl

Mitglied: gechger

gechger (Level 1) - Jetzt verbinden

11.06.2009, aktualisiert 21.06.2009, 7652 Aufrufe, 8 Kommentare

nach reichlichem gegoogle bin ich jetzt erst recht verwirrt

Hallo Forum,

jetzt wollte ich mal den include Befehl testen. Ich habe stundenlang gegoogelt, und daraufhin angenommen, daß ein einfacher Befehl ausreichen würde. In etwa so:
<? include "..\startseite\start.php"; ?>

Ich will diese Datei aus der index.php aufrufen. Von dieser Datei ausgehend finde ich meine Zieldatei im Ordner startseite und sie heisst start.php.
Ich weiss nach dem ganzen gegoogle nicht mehr, ob die ..\ richtig sind, oder nur .\ oder gar nichts davon. Habe jedenfalls alles durchgetestet und bekomme immer diese Fehlermeldung:

Warning: Division by zero in C:\xampp\xampplite\htdocs\mtv\phphp\index.php on line 38

Warning: include(php) [function.include]: failed to open stream: No such file or directory in C:\xampp\xampplite\htdocs\mtv\phphp\index.php on line 38

Warning: include() [function.include]: Failed opening 'php' for inclusion (include_path='.;C:\xampp\xampplite\php\pear\') in C:\xampp\xampplite\htdocs\mtv\phphp\index.php on line 38

Was mir nun wirklich komisch vorkommt, ist die dritte Meldung: include_path=.....
Das kommt wohl aus der php.ini. Bei mir in der Apache Testumgebung kann ich das sicher ändern, aber nicht, wenn die Dateien zum Provider hoch geladen werden.

Wie kriege ich also meine Datei mit include sauber eingebunden?????

Ein wenig verständliche Nachhilfe wäre sicher hilfreich

Schöne Grüße
Christof
Mitglied: Bulleye
11.06.2009 um 20:54 Uhr
Wenn ich dich richtig verstehe sieht deine Ornderstruktur so aus:


- /index.php
- /startseite/start.php

demnach würde der Befehl lauten:

<?php include "./startseite/start.php"; ?>

Lg
Bitte warten ..
Mitglied: RoterFruchtZwerg
11.06.2009 um 20:58 Uhr
Der Include-Path ist egal, der kommt nur zum Einsatz wenn die Quelle die du angegeben hast so nicht gefunden werden kann.
Auch wenn dein System unter Windows läuft, solltest du immer Slash zur Verzeichnistrennung verwenden, keinen Backslash.
Zu guter letzt solltest du vielleicht noch wissen, dass "./" aktuelles Verzeichnis bedeutet, und "../" darüberliegendes Verzeichnis.
Demnach ist, laut deiner Beschreibung, "../startseite/start.php" falsch. Richtig wären "./startseite/start.php" oder gleich "startseite/start.php".
Hat aber eigentlich wenig mit PHP zu tun, als mit Dateisystemen generell ;)
Bitte warten ..
Mitglied: Bulleye
11.06.2009 um 21:01 Uhr
Zitat von RoterFruchtZwerg:
Der Include-Path ist egal, der kommt nur zum Einsatz wenn die Quelle
die du angegeben hast so nicht gefunden werden kann.
Auch wenn dein System unter Windows läuft, solltest du immer
Slash zur Verzeichnistrennung verwenden, keinen Backslash.
Zu guter letzt solltest du vielleicht noch wissen, dass
"./" aktuelles Verzeichnis bedeutet, und "../"
darüberliegendes Verzeichnis.
Demnach ist, laut deiner Beschreibung,
"../startseite/start.php" falsch. Richtig wären
"./startseite/start.php" oder gleich
"startseite/start.php".
Hat aber eigentlich wenig mit PHP zu tun, als mit Dateisystemen
generell ;)


... Das war die ausführliche Variante..

Lg
Bitte warten ..
Mitglied: gechger
11.06.2009 um 21:28 Uhr
Schon mal vielen Dank für die schnelle Antwort.

Zu den Erklärungen noch eine kurze Frage:
ich habe in einer vorhandenen HP den Slash benutzt, um auf andere Seiten zu verlinken. Mozilla hat das aber nicht gefunden, erst nach dem ich den Backslash eingesetzt hatte, funktionierte es auch dort. Deshalb wollte ich sicher gehen mit den Backslash.

Habe es auch mal schnell getestet:
auch dieser Befehl
<? include "./startseite/start.php"; ?>
und dieser
<? include "startseite/start.php"; ?>
liefert mir denselben Fehler.
(include_path='.;C:\xampp\xampplite\php\pear\') in

Mein Apache scheint die Dateien irgendwo anders zu erwarten. Wie überrede ich ihn also, an der richtigen Stelle zu suchen, ohne die php.ini umzumodeln?

Schöne Grüße
Christof
Bitte warten ..
Mitglied: Bulleye
11.06.2009 um 21:44 Uhr
Ich würde an deiner stelle erst einmal die ganze Geschichte mit dem Absoluten Pfad zu der Datei 'start.php' angeben
also so(wenn ich deine Verzeichnisstruktur richtig analysiert habe):

<?php include "C:/xampp/xampplite/htdocs/mtv/phpphp/startseite/start.php"; ?>

(natürlich sollte der Pfad überprüft werden ;))

Lg
Bitte warten ..
Mitglied: dog
11.06.2009 um 21:57 Uhr
Streng genommen sollte man weder / noch \ sondern die Konstante DIRECTORY_SEPARATOR benutzen, wenn man im Dateisystem arbeitet

Bei URLs wiederum ist / vorgeschrieben

Grüße

Max
Bitte warten ..
Mitglied: Supermax
12.06.2009 um 07:41 Uhr
Statt mit ../ und ./ solltest du besser mit $_SERVER['DOCUMENT_ROOT'] arbeiten. In dieser superglobalen Variable steht (wenn das PHP-Script über einen Webserver aufgerufen wird) immer das Basisverzeichnis der Webpräsenz, egal ob lokal unter XAMPP oder auf dem Server deines Webspace-Anbieters.

Also statt
<?php include('./startseite/start.php'); ?>
besser
<?php include($_SERVER['DOCUMENT_ROOT'].'/startseite/start.php'); ?>
Bitte warten ..
Mitglied: gechger
12.06.2009 um 15:50 Uhr
Vielen Dank für alle Eure Anregungen. Ich habe es jetzt gelöst mit diesem Befehl:

<?php include "C:\\xampp\\xampplite\\htdocs\\mtv\\phphp\\startseite\\start.php"; ?>

So arbeitet auch Mozilla einwandfrei.

Schöne Grüße
Christof
Bitte warten ..
Ähnliche Inhalte
PHP

PHP include und per form ein formular einfügen

Frage von miichiii9PHP1 Kommentar

Hallo miteinander Ich habe ein kleines Problem Meine Idee ist ein kleines Forum selber zu erstellen mittels PHP und ...

Server

Bestimmte Befehle in PHP protokollieren

Frage von StefanKittelServer1 Kommentar

Hallo, ich habe hier von einem Kunden ein stark modifiziertes Drupal auf einem aktuellen Linux-Server ein. Aktuell gibt es ...

Entwicklung

Verständnisproblem bei regex

gelöst Frage von KraemerEntwicklung7 Kommentare

Moin zusammen, ich muss mich zum ersten mal überhaupt mit regex richtig beschäftigen und hänge dabei vollends. Vielleicht kann ...

LAN, WAN, Wireless

Verständnisproblem NAT

Frage von BytedreherLAN, WAN, Wireless1 Kommentar

Hallo zusammen, ich habe eine ZyWALL USG 50 und ein "Problem", was ich mir leider nicht selbst erklären kann. ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 StundeHumor (lol)

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 14 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 14 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 17 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...