Aerzte1992
Grünschnabel
Hy Com.
nach langem hin und her, und literweise hirnschmalz bin ich schon am Verzweifeln. Die Aufgabe ist ganz einfach. Daten hochladen, den ordner auslesen, in ein Array speichern, sortieren und per Ziel speichern unter.. downloaden
Script von der Upload seite:
p.s. dieses php file wird mit include eingeladen. Deswegen steht auch zu Begin kein session start.
klickt man nun auf den link, sollte das speichern unter aufgerufen werden.
hier das download sript
nun mein Problem: offline erscheint zwar das Ziel speichern unter Feld, aber lade ich mir eine txt oder doc. datei herunter steht ne fehlermeldung drinnen, die nicht nachvollziehbar ist. der restliche text fehlt. Ausderem seht nicht der Dateiname sondern download.php im Downloadfenster.(z.b. statt 1.png)
Versuch ich das ganze online, erscheint kein fenster, sondern ich werde zu ner leeren seite weitergelitet.
Der Fehlercode, der sich automatisch in die Text Datei schreibt:
nach langem hin und her, und literweise hirnschmalz bin ich schon am Verzweifeln. Die Aufgabe ist ganz einfach. Daten hochladen, den ordner auslesen, in ein Array speichern, sortieren und per Ziel speichern unter.. downloaden
Script von der Upload seite:
PHP:
$pfad1 = "Upload";
$files = array();
$dir = opendir($pfad1);
while(false !== ($file = readdir($dir))){
if(!preg_match('/^\.{1,2}$/',$file)){
$files[] = $file;
ksort($files);
$_SESSION['array'] = $files;
}else{
continue;
}
}
closedir($dir);
asort($files);
ksort($files);
foreach($files as $v){
$zähler = count($files);
$zahl = intval($zähler);
if(!isset($wert) or $wert<= $zahl)// diese Anweisung dient rein nur für einen Wert, der später als GET aufgerufen wird
{
++$wert;
echo $wert;
$name= "$v</a><br>\n";//
echo "<table border=\"4\"><colgroup><col width=\"400\"><tr><th align = \"center\">".$name."<br></th><th>";?> <html><body><a href="Upload/download.php?what=<?php echo $wert; ?>">/Upload/<?php echo $v; ?></a> </body></html> <?php echo "</th></tr></table></p>";
?>
<?php
}
}
print_r($_SESSION['array']);
echo '<input type="submit" value="go"></form>';
?>
klickt man nun auf den link, sollte das speichern unter aufgerufen werden.
hier das download sript
PHP:
<?php session_start();
for ($zahl = 1; $zahl <= count($_SESSION['array']); $a[] = $zahl++)
{
}
//Grund für das combinieren des array mit dem inhalt der for schleife ist, das der array inhalt von der upload seite mit 1 statt 0 beginnt.
$c = array_combine($a, $_SESSION['array']);
ksort($c);
$filename = $c[$_GET[what]];
header("Content-Type: x-type/subtype");
header("Content-Length: ".filesize($filename));
header("Content-Disposition: attachment; filename=".$c[$_GET[what]]);
readfile($filename);
?>
nun mein Problem: offline erscheint zwar das Ziel speichern unter Feld, aber lade ich mir eine txt oder doc. datei herunter steht ne fehlermeldung drinnen, die nicht nachvollziehbar ist. der restliche text fehlt. Ausderem seht nicht der Dateiname sondern download.php im Downloadfenster.(z.b. statt 1.png)
Versuch ich das ganze online, erscheint kein fenster, sondern ich werde zu ner leeren seite weitergelitet.
Code:
<b>Notice</b>: Undefined index: array in <b>C:\xampp\htdocs\Upload\download.php</b> on line <b>3</b><br />
<br />
<b>Notice</b>: Undefined variable: a in <b>C:\xampp\htdocs\Upload\download.php</b> on line <b>6</b><br />
<br />
<b>Notice</b>: Undefined index: array in <b>C:\xampp\htdocs\Upload\download.php</b> on line <b>6</b><br />
<br />
<b>Warning</b>: array_combine() expects parameter 1 to be array, null given in <b>C:\xampp\htdocs\Upload\download.php</b> on line <b>6</b><br />
<br />
<b>Warning</b>: ksort() expects parameter 1 to be array, null given in <b>C:\xampp\htdocs\Upload\download.php</b> on line <b>7</b><br />
<br />
<b>Notice</b>: Use of undefined constant what - assumed 'what' in <b>C:\xampp\htdocs\Upload\download.php</b> on line <b>9</b><br />
<br />
<b>Notice</b>: Use of undefined constant what - assumed 'what' in <b>C:\xampp\htdocs\Upload\download.php</b> on line <b>14</b><br />
<br />
<b>Warning</b>: readfile() [<a href='function.readfile'>function.readfile</a>]: Filename cannot be empty in <b>C:\xampp\htdocs\Upload\download.php</b> on line <b>15</b><br />
Der Fehlercode, der sich automatisch in die Text Datei schreibt: