Aerzte1992
Grünschnabel
Hy
wiedermal bin ich auf euch Spezialisten angewiesen. Ich hab ein script, das ein verzeichnis ausliest und in ein array einfügt. Dieses array wir mit ksort sortiert und in einer Tabelle wieder ausgegeben. Angenommen im Verzeichnis sind folgende Datein: 1.png, 2.png, 3.png, 4.png, 5.png
so wird in der Tabelle
|1.png|
|2.png|
|3.png|
usw. ausgegeben.
Das Problem ist folgendes:
Richtig sollte es so sein:
<a href="download.php?what=2>Upload/2.png</a>
<a href="download.php?what=3>Upload/3.png</a>
<a href="download.php?what=4>Upload/4.png</a>
usw.
leider wird jeder Array inhalt mehrmals ausgegeben, bis zu der Anzahl von $anzahl. Hab ich nun 5 einträge im Array wird folgendes ausgegenben
<a href="download.php?what=0>Upload/2.png</a>
<a href="download.php?what=1>Upload/2.png</a>
<a href="download.php?what=2>Upload/2.png</a>
<a href="download.php?what=3>Upload/2.png</a>
<a href="download.php?what=4>Upload/2.png</a>
<a href="download.php?what=5>Upload/2.png</a>
<a href="download.php?what=0>Upload/3.png</a>
<a href="download.php?what=1>Upload/3.png</a>
usw.
Warum wird der array eintrag mehrmals ausgegeben und nicht nur einmal?
Wie schaffe ich es, das der jeder array eintrag nur einmal in nem Link ausgegeben wird und auch noch den richtigen $anzahl wert bekommt? d.h. 1eintrag = 0; 2eintrag= 1; usw.
danke
wiedermal bin ich auf euch Spezialisten angewiesen. Ich hab ein script, das ein verzeichnis ausliest und in ein array einfügt. Dieses array wir mit ksort sortiert und in einer Tabelle wieder ausgegeben. Angenommen im Verzeichnis sind folgende Datein: 1.png, 2.png, 3.png, 4.png, 5.png
so wird in der Tabelle
|1.png|
|2.png|
|3.png|
usw. ausgegeben.
PHP:
$pfad1 = "Upload";/
$files = array();
$dir = opendir($pfad1);
while(false !== ($file = readdir($dir))){
if(!preg_match('/^\.{1,2}$/',$file)){
$files[] = $file;
}else{
continue;
}
}
closedir($dir);
asort($files);
foreach($files as $v){
$name= "$v</a><br>\n";//
echo "<table border=\"4\"><colgroup><col width=\"400\"><tr><th align = \"center\">".$name."<br></th></tr></table></p>";
echo "<font color=\"green\">".$name."</font>";
$sender = serialize($v);//Array weitergeben
$anzahl= "0";//wird als link zahl verwendet
$zähler = count($files);
for ($anzahl = 0; $anzahl <= $zähler; $anzahl++)//What=1,2,3,4usw., je nach anzahl der array Einträge
{
?>
<html><body><a href="download.php?what=<?php echo $anzahl;?>">/Upload/<?php echo $name; ?></a> </body></html> <!-- Kommentar: hier möchte ich einen Link, für den array eintrag machen. bspw. <a href="download.php?what=2>Upload/2.png</a> -->
<?php
}
}
echo "<form name=\"form1\" method=\"post\" action=\"download.php\">";
echo "<input type=\"hidden\" name=\"geber\" value=\"$sender\">"; //array soll weiter gegeben werden
?>
Das Problem ist folgendes:
Richtig sollte es so sein:
<a href="download.php?what=2>Upload/2.png</a>
<a href="download.php?what=3>Upload/3.png</a>
<a href="download.php?what=4>Upload/4.png</a>
usw.
leider wird jeder Array inhalt mehrmals ausgegeben, bis zu der Anzahl von $anzahl. Hab ich nun 5 einträge im Array wird folgendes ausgegenben
<a href="download.php?what=0>Upload/2.png</a>
<a href="download.php?what=1>Upload/2.png</a>
<a href="download.php?what=2>Upload/2.png</a>
<a href="download.php?what=3>Upload/2.png</a>
<a href="download.php?what=4>Upload/2.png</a>
<a href="download.php?what=5>Upload/2.png</a>
<a href="download.php?what=0>Upload/3.png</a>
<a href="download.php?what=1>Upload/3.png</a>
usw.
Warum wird der array eintrag mehrmals ausgegeben und nicht nur einmal?
Wie schaffe ich es, das der jeder array eintrag nur einmal in nem Link ausgegeben wird und auch noch den richtigen $anzahl wert bekommt? d.h. 1eintrag = 0; 2eintrag= 1; usw.
danke
Zuletzt bearbeitet: