php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.03.2006, 08:25  
Benutzer
 
Registriert seit: 16.09.2005
Beiträge: 34
antiheld2003
Standard Ordner auslesen und in Menü schreiben

Guten Tag,
ich habe wiedermal ein Problem. Und zwar Lasse ich Ordnernamen
auslesen und in einem Dropdownmen� ausgeben. Wenn ich das Scrit
bei URL direkt ausgebe funktioniert es auch , wenn ich es abenr auf eine
andere seite includen will werden zwar die rcihtig ausgelesenen Ordner
angezeigt wenn ich aber darauf klicke wird nich z.B. wie ausgelesen
./include/gallery/"ordnername" sondern nur ./"ordnername" (falls ihr das
versteht ... es geht auf in (rootverzeichnis). Wenn ich nicht include geht
aber alles korrekt.
weiss da jemand eine Antwort?

PHP-Code:
<?
$files 
= array();
$dh opendir("./include/gallery/");
while(
$file readdir($dh)){
if(
$file != "." and $file != ".."){
         
array_push($files$file);
 }}
closedir($dh);
?>
<html><head><script language="JavaScript">
function loadDown(){
 var datei = document.myform.files.value;
 location.href = datei;
}
</script></head><body><form name=myform>
<select name=files onchange="javascript:loadDown();">
<?
foreach($files as $filename){
     print 
"<option value=\"$filename\">$filename</option>\n";
}
?>

Edit by Zergling
Text formatiert da sonst horizontale Scrollleisten. Fehler liegt am Forum,
am besten trotzdem beim Posten selbst nochmal fix drüber gehen, erschwert
sonst das lesen
antiheld2003 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.03.2006, 08:29  
Gast
 
Beiträge: n/a
Standard

readdir liefert dir nur den Namen der Datei, ohne Pfad. Du musst daher bei der Ausgabe den Pfad mit einbauen.

Gruß
phpfan
 
Alt 09.03.2006, 17:18  
Benutzer
 
Registriert seit: 16.09.2005
Beiträge: 34
antiheld2003
Standard

hab ich jetzt stundenlang versucht kann mir da jemand helfen, war alles total falsch. und wie kann ich die ausgelesen ordner mit meinem code sortieren?

Danke erstma für die Hilfe bis jetzt
antiheld2003 ist offline  
Alt 09.03.2006, 20:19  
Gast
 
Beiträge: n/a
Standard

Ich empfehle einen Blick in die Doku:

http://de3.php.net/manual/de/function.glob.php
http://de3.php.net/manual/de/function.sort.php

Gruß
phpfan
 
Alt 09.03.2006, 21:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo,
beachte, dass sich beim includen anderer PHP-Skripte, die selbst relative
Verzeichnis-Angaben verwenden (zB für eigene
includes oder das Auslesen von Verzeichnissen), die Basis selbst ändert.
Die includete Datei wird praktisch in das includende Skript
hineinkopiert. Somit müssen die Pfadangaben der includeten Datei
für die includende Datei angepasst werden, nicht umgekehrt!

Darauf muss in der includeten Datei geachtet werden.
Beispiel:

/home/a.php
PHP-Code:
<?php
print 'a.php
'
;
include 
'pfad/b.php';
?>
/home/pfad/b.php
PHP-Code:
<?php
print 'b.php
'
;
include 
'nocheiner/c.php';
?>
/home/pfad/nocheiner/c.php
PHP-Code:
<?php
print 'c.php';
?>
Hierbei entsteht ein Fehler.
c.php ist zwar von b.php aus gesehen einen Ordner tiefer in "nocheiner".
Das ganze angeleiert hat jedoch a.php einen Ordner höher. Sie stellt
somit die Basis, denn durch includen wird der komplette Skriptcode in die
includende Datei kopiert:
Für den PHP Parser sähe a.php also so aus:
PHP-Code:
<?php
print 'a.php
'
;
// include 'pfad/b.php'; // wird ersetzt durch:

print 'b.php
'
;
include 
'nocheiner/c.php'// Programmabbruch
?>
Programmabbruch, da von a.php aus kein Verzeichnis namens "nocheiner" existiert.


Die Lösung 1 ist entweder b.php anpassen (also für den Aufruf aus a.php
optimieren. Dabei gibt es jedoch Probleme, wenn sie aus anderen
Verzeichnisebenen includet wird:
Statt 'nocheiner/c.php' wäre dies 'pfad/nocheiner/c.php'

Lösung 2 wäre absolute Pfade zu verwenden:
Statt 'nocheiner/c.php' einfach '/home/pfad/nocheiner/c.php'

Lösung 3 und meiner Meinung nach am elegantesten:
Statt 'nocheiner/c.php' ein
PHP-Code:
<?php
include dirname(__FILE__).'/nocheiner/c.php';
?>
Dabei wird die magische Konstante __FILE__ verwendet, die den
absoluten Dateinamen der aktuellen Datei enthält - egal ob sie includet
wurde.
dirname() extrahiert daraus lediglich den Pfadnamen.

Hierzu noch ein paar Links:
Magische Konstanten
Was ist absolut?
Was ist relativ? (1. Satz)

Wie schreibt man absolute Pfadangaben?:
- Linux: führender Slash, zB: /home/htdocs/meinedomain.de/
- Windows: X:/ (für Festplatte) oder \\ (Netzwerkadresse), zB:
c:/programme/xamp/htdocs
(Windows ist so tolerant und läßt Slash und Backslash zu (nicht bei
Netzwerkadressen) - Linux nicht)
Zergling-new ist offline  
Alt 09.03.2006, 22:51  
Benutzer
 
Registriert seit: 16.09.2005
Beiträge: 34
antiheld2003
Standard

Hallo!
Also mein Hauptordner ist HTML, dort ist ein unterordner "include", dieser wiederum hat einen unterordner namens "gallery". Dort liegt folgendes script (pull.php):
PHP-Code:
<?
$files 
= array();
$dh opendir("./include/gallery");
while(
$file readdir($dh)){
if(
$file != "." and $file != ".."){
         
array_push($files$file);
}}
closedir($dh);
?>
<html><head><script language="JavaScript">
function loadDown(){
 var datei = document.myform.files.value;
 location.href = datei;
}
</script></head><body><form name=myform>
<select name=files onchange="javascript:loadDown();">
<?
foreach($files as $filename){
     print 
"<option value=\"$filename\">$filename</option>\n";
}
?>
</select></form></body></html>
wenn ich nun im ordner "include" die datei Gallery.php kommen zwar die ausgelesenen ordner im dropdown menü aber wenn ich auf einen ordner klicke kann die seite nicht angezeigt werden da der Pfad zu den Bildern falsch ist , es kommt www.meineseite.de/"derordner" obwohl es www.meineseite.de/include/gallery/"ordnername" heissen müsste.


mfG
antiheld2003 ist offline  
Alt 10.03.2006, 01:53  
Gast
 
Beiträge: n/a
Standard

Hallo,

erstmal zur Fehlerdiagnose gebe mal in das select-Feld onchange="alert(this.value)";
ein. Desweiteren ist der JavaScript-Code unsauber, da es hier aber um PHP geht,
kannste das als seperates Thema unter HTML, CSS etc. mal posten.
aber dazu wenn man scrollt und scrollt das select-Feld mit, daher bitte mit Button und ohne onchange, zumal das nicht jeder Browser unterstützt !
Warum keine Weiterleitung mit php, da eh ein Formular definiert wurde, kannste das auch abschicken

der Fehler in der PHP-Ausgabe ist nur der Verzeichnisname, die url fügt der browser hinzu.
es müsste daher eher so ausgegeben werden:




Code:
<?php

   print "<option value=\"http://www.meineseite.de/include/gallery/$filename\">$filename</option>\n"; 
?>
hier der Code aus meiner Bildbearbeitungs-API, die u.a. auch Verzeichnisse einliest und zwar über 500 und nach einem Suchwort passende Bilder aussucht, daher Code gekürzt:
Code:
<span class="gefunden">Suchergebnis Originale</span>

  <select id="original" name="original" size="0" >
</select>


<button type="button" onclick="wechselbilder(aus('original').value);" >ausw&auml;hlen</button>
 
Alt 10.03.2006, 08:01  
Benutzer
 
Registriert seit: 16.09.2005
Beiträge: 34
antiheld2003
Standard

Wenn ich
PHP-Code:
<?php
 
print "<option value=\"http://www.meineseite.de/include/gallery/$filename\">$filename</option>\n";
?>
benutze wirdim dropdown irgendwie nichts mehr angezeigt... weiss auch nicht ob ich einen fehler gemacht habe.
könntest du mir das beides in meinen oben geposteten code einbauen, habe wiedermal ewig probiert und nicht ging.

mfG
antiheld2003 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ordner auslesen und während des auslesen sortieren Dooki PHP Tipps 2008 6 14.05.2008 17:50
Problem beim Ordner auslesen sha1ch PHP Tipps 2008 4 09.02.2008 19:49
TreeMenu Fatal Error PHP Tipps 2006 8 07.04.2006 11:22
Unter ordner und Files automatisch auslesen lichtscheu PHP Tipps 2006 6 09.03.2006 19:19
ordner auslesen antiheld2003 PHP Tipps 2007 6 18.12.2005 19:27
hilfe mit dem auslesen von datei aus einem ordner Tic Rederon PHP Tipps 2005-2 2 08.08.2005 11:30
Ordner auslesen PHP Tipps 2005-2 12 03.07.2005 16:43
Ordner auslesen, Ausgabe nach dem Datum sortieren PHP Tipps 2005-2 10 02.07.2005 17:18
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Ordner auslesen - Zusätzliche Bildplatzhalter PHP Tipps 2005 8 21.05.2005 12:25
Fehler bei Auslesen von Ordnernamen und datein im ordner PHP-Fortgeschrittene 3 11.12.2004 13:25
ordner in einem verzeichnis auslesen und anzeigen lindner PHP Tipps 2004 5 19.08.2004 00:03
Ordner Auslesen PHP Tipps 2004 3 03.07.2004 09:17
ordner mit dateien mit externen links auslesen PHP Tipps 2004 2 19.06.2004 14:33
Auslesen eines Ordner bringt Probleme PHP Tipps 2004 2 09.06.2004 13:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php funktion ordner auslesen, file im select feld auswählen und file includen, verzeichnis auslesen und in dropdown menü schreiben, menü aus ordnerstruktur php, include ordner auslesen, php, ordnernamen aus einem ordner auslesen

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.