5.0.0 path unterstützt den ftp:// URL-Wrapper.
4.3.0 path kann auch eine URL sein, die Directory-Listing unterstützt, allerdings wird nur der file:// URL-Wrapper von PHP 4 unterstützt.
Alles was ein directory ausgibt kann genutzt werden ,
es gibt aber kein HTTP directory, wenn du ein directory siehst dann ist es eine ausgabe in HTML vone einem tool (auch integriert im server).
somit kann man nicht auf HTTP directorys zugreifen , ausser bei file:// da dort wiederum ein gültiges filesystem ist und somit auch ein echtes directory und keine HTML seite zu finden ist.
du kannst also nicht DIR extern auf andere http server anwenden.
Du kannst aber dir die ausgabe vom server hohlen (vorrausgesetzt da ist keine index datei) und auswerten.
webserver sind keine filesysteme .
willst du local auf deinem System Dirs haben nimmst du halt den pfad un keine URL .
also ich habe auf meiner HP ein Verzeichnis in dem viele Grafiken (Smileys) abgelegt sind. Da da immer wieder neue zu kommen, beabsichtige ich in PHP zu schreiben, dass mir jedes Smiley im Verzeichnis angezeigt werden kann und am besten auch noch angeklickt werden kann, um dann im Beitrag eingefügt zu werden.
Momentan füge ich jedes Smiley manuell ein, aber das möchte ich nun irgendwie umgehen.
Nichts gegen unvollständiges oder falsches Wissen, ich weiß auch nicht alles. Es liest sich nur doof, wenn zwei Beiträge weiter oben jemand sagt, dass eine URL ab Version 4.3.0 erlaubt ist, und das auch noch verlinkt und dann jemand sagt, das ginge nicht. Ab 5.0.0 geht sogar ftp://
wenn du eine Webseite baust und auf ein bild verlinkst was im unterordner „unterordner“ ist, also
/123/unterordner/bild1.jpg
das ist immer vom server anfang (root) aus gesehen.
ohne den ersten schrägstrich ist es von dem ort aus gesehen wo sich die datei, die gerade genutz wird, befindet.
beispiel:
website
/123/meinebild.html
relativer pfad
absoluter pfad
du brauchst niemals und nicht die domain angeben . Der Browser weiss woher er seine /123/meinebild.html herbekommen hat , wohl von xyz.de/123/ und ergänzt die nötigen informationen für alle resourcen locations die keine domain als angabe haben.
PHP allerdings weiss erstmal nix von der domain , es läuft auf dem server und nimmt alle pfad angaben entweder absolut zum root oder relativ zum root .
soll heissen :
Beispiel :
dein server root liegt im verzeichniss:
c:\server\meinserver\
und dort dein unterordner ordner
c:\server\meinserver\123\unterordner
liegt dein php auf
c:\server\meinserver\123\bilder.php
dann ist der pfad zum unterordner einfach nur
opendir(„unterordner/“);
in php braucht es keine trennung von windows \ oder unix / pfad zeichen . php nimmt das server eigene / auch bei windows pfad angaben.
Wenn http://www.xyz.de/123/456 eine Url ist, wie sieht denn
der Pfad aus, bzw. ??
Einfach /123/456 ??
Moin,
und auch hier der Vollständigkeit halber:
Nein. Eine Website teilt sich bei üblichen Webspaces einen Rechner mit mehreren Websites mehrerer Benutzer. Daher liegt Deine Website auch nicht im Root-Verzeichnis (/), sondern in einem eigenen.
Welches das ist, kannst Du entweder auf den FAQ-Seiten Deines Webspace-Anbieters nachlesen, oder per PHP aus der Variable $_SERVER[„DOCUMENT_ROOT“] auslesen.
Die URL http://www.xyz.de/123/456 entspricht also dem Pfad $_SERVER[„DOCUMENT_ROOT“]."/123/456". So muss man das aber nur angeben, wenn man absolute Pfade benutzt. Ob man absolute oder relative Pfade nimmt, mag jeder selber entscheiden, es gibt für alles irgendwelche Vor- oder Nachteile.
wie kann ich
es denn erreichen, dass z.B. 5 Grafiken pro Zeile angezeigt
werden ??
Das geht bei Websites üblicherweise mit CSS, nicht mit PHP. PHP stellt ja nur die HTML-Seite her, die letztendlich an den Browser gesendet wird.
Zuerst brauchst Du eine aussagekräftige (semantische) Auszeichnung Deiner Images (z.B. eine Form von Liste, kann aber was gänzlich anderes sein, je nachdem, waas Du vor hast => HTML), die Du dann in diesem Fall von PHP schreiben lässt, das Aussehen definierst Du per CSS in Deinem externen Stylesheet, das Du ja vermutlich nicht per PHP erzeugen lässt.
<?php // iacta alea est // diretory pfad zu den bildern
$dir = "../../web/images/";
// Öffnen eines bekannten Verzeichnisses und danach seinen Inhalt einlesen
$dateien = array();
if (is\_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
// eintrag hinzufügen für .jpg , .bmp , .gif , .png
if (preg\_match("/\.jpg|\.gif|\.bmp|\.png/", $file )) $dateien[] = $file;
}
closedir($dh);
}
} else { echo "no dir found"; }
// ausgabe
$counter = 1;
// max anzahl pro reihe
$maxatrow = 5;
// für jeden eintrag in $dateien
foreach ($dateien as $datei) {
// max pro reihe erreicht , counter zurücksetzen und zeilenumbruch
if ($counter \> $maxatrow) { $counter = 1; echo "
";}
// bild ausgeben mit pfad
echo '';
// zähler erhöhen
++$counter;
}
?\>
Zuerst brauchst Du eine aussagekräftige (semantische)
Auszeichnung Deiner Images (z.B. eine Form von Liste, kann
aber was gänzlich anderes sein, je nachdem, waas Du vor hast
=> HTML), die Du dann in diesem Fall von PHP schreiben lässt,
das Aussehen definierst Du per CSS in Deinem externen
Stylesheet, das Du ja vermutlich nicht per PHP erzeugen lässt.
Moin Efchen ,
könnten wir mal zusammen eine korrekte HTML version für sein Beispiel erzeugen , ich denke das interressiert doch einige , wie man sowas ohne