funktion bei auslesen von Dateien aus Verzeichnis funktioniert nicht

webdesign hat gesagt.:
PHP:
 <?php 
$hdl=opendir('download/audio/files/');

while($file=readdir($hdl)){
if(($file!=".")&&($file!="..")){
echo"<a href='http://www.niklausrueegg.ch/download/audio/files/$file' target='_blank'>".$file."</a><br>";
}
}
closedir($hdl);
?>
Die Ausgabe ist aber immer noch:

.
..
sitemap Kopie 1.doc
sitemap Kopie 2.doc
sitemap Kopie 3.doc
sitemap Kopie 4.doc
sitemap Kopie 5.doc
sitemap Kopie 6.doc
sitemap Kopie 7.doc
sitemap Kopie.doc
sitemap.doc


Ich will aber die:
.
..


soweit ich weiß wird . & .. wie ein Verzeichnis behandelt...
Und in einer meiner Funktionen die bei mir funktionieren läuft die Kontrollfunktion so:
PHP:
            if($file != ".." && is_dir($this->verz."/".$file))
            {

jetzt nur so ne kleine vermutung...
Du schreibst ungleich . && ungleich ..
Ist nicht von vorteil ungleich . || ungleich ..
PHP:
if(($file!=".")&&($file!=".."))
 
Also ehrlich gesagt funktioniert das Script so wie es am Anfang geposted wurde bei mir lokal einwandfrei.
PHP:
<?php
$hdl=opendir('./phpDoc/');

while($file=readdir($hdl)){
if(($file!=".") AND ($file!="..")){
echo"<a href='http://localhost/phpDoc/".$file."' target='_blank'>".$file."</a><br>";
}
}
closedir($hdl);
?> 
# Ausgabe:
Authors
ChangeLog
docbuilder
Documentation
FAQ
HTML_TreeMenu-1.1.2
index.html
INSTALL
media
new_phpdoc.php
pear-phpdoc
pear-phpdoc.bat
phpdoc.php
phpDocumentor
phpDocumentor.ini
PHPLICENSE.txt
poweredbyphpdoc.gif
README
Release-1.3.0
scripts
tutorials
user

Übrigens dachte ich auch, dass OR vielleicht besser wäre, allerdings werden die beiden Werte angezeigt, wenn ich OR verwende.
 
R00Ki3 hat gesagt.:
jetzt nur so ne kleine vermutung...
Du schreibst ungleich . && ungleich ..
Ist nicht von vorteil ungleich . || ungleich ..
Nein, der Ausdruck ist schon richtig. Denn ein „x?a ? x?b“ ist auch dann wahr, wenn x gleich a oder b ist.
 
Muss das Problem nicht bei der Adresse des Ordners liegen?
Die Fehlermeldung zeigt ja an:
Parse error: syntax error, unexpected T_VARIABLE in /home/www/web201/html/download/audio/main.php on line 16

Das ist die folgende Zeile:
<?php
$dir=opendir('download/audio/files/');
while($file=readdir($dir)){
echo"<ahref='http://www.niklausrueegg.ch/audio/files/".$file."'target='_blank'>".$file."</a><br>";
}
closedir($dir);
?>

Das heisst doch, dass opendir() gar nicht funktioniert, da wahrscheinlich die Adresse falscht ist, oder? Was könnte denn daran falsch sein?
Die Hauptdatei home.php ist im normalen html Verzeichnis. Von dort aus lade ich in eine Tabelle die Daten. Das heisst doch, dass ich von dort aus gehen muss, dann sollte doch "'download/audio/files/" stimmen. Ich muss dann nicht direkt nur "files/" angeben, da die php Datei, wo das Script drin eingebaut ist im Ordner "audio" ist und der Ordner "files" ebenso.
 
Das Script dass du geposted hast, ist fehlerfrei.
Zeig doch mal bitte deinen gesamten Quelltext.

Die Fehlermeldung für eine nicht vorhandene Funktion sieht so aus:
Fatal error: Call to undefined function abc() in /.../httpdocs/test.php on line 3
 
Also hier der ganze Quelltext:
HTML:
<table width="650" border="0" cellpadding="0" cellspacing="0">
	<tr>
	<td width="10" align="left" valign="top">&nbsp;</td>
	<td width="*" align="left" valign="top" id="ueberschrift"><a name="top">Download | <i>Audio</i></a></td>
	</tr>
	<tr>
	<td align="left" valign="top" >&nbsp;</td>
	<td align="left" valign="top">&nbsp;</td>
	</tr>
</table>
		
<table width="650" border="0" cellpadding="0" cellspacing="0">
<tr>
	<td width="10" align="left" valign="top">&nbsp;</td>
<td width="*" align="left" valign="top">
<?php 
$dir=opendir('download/audio/files/'); 
while($file=readdir($dir)){ 
echo"<ahref='http://www.niklausrueegg.ch/audio/files/".$file."'target='_blank'>".$file."</a><br>"; 
}
closedir($dir); 
?>
	</td>
	</tr>
	</table>
	<br><br>

Diese Datei wird dann in eine Tabelle geladen.
 
Zuletzt bearbeitet:
<td width="*" align="left" valign="top">
<?php
$dir=opendir('download/audio/files/');
while($file=readdir($dir)){
echo"<ahref='http://www.niklausrueegg.ch/audio/files/".$file."'target='_blank'>".$file."</a><br>";
}
closedir($dir);
?>

Die Rot gekennzeichneten dinge sind so auf den erstenblick falsch...
* = Wert...
<ahref = <a href
und wenn ich mir den hyperlink anschaue könnte ich mir sogar vorstellen, daß der pfad falsch ist.
Nicht:
http://www.niklausrueegg.ch/audio/files/ sondern: http://www.niklausrueegg.ch/download/audio/files/
Aber das wird wohl alles nichts mit deinem Problem zu tun haben...
 
Zurück