#1 1. Mai 2010 Download Scripting Guten tag... sitze grade mit nem Kumpel hier und versuchen beide ein DL Script hinzukriegen .. habe schon mehrere Tuts gelesen und so .. und haben aber dennoch ein Problem .. PHP: <?php function download ( $file ) { $dir = "downloads/" ; $path = $dir . $file ; if(! file_exists ( $path )) { die( "Error: The File does not exists!" ); } else { header ( "Cache-Control:public" ); header ( "Content-Description: File Transfer" ); header ( "Content-Description: attachment; filename= $path " ); header ( "Content-Type: application/zip" ); header ( "Content-Transfer-Encoding: binary" ); readfile ( $path ); } } if(isset( $_GET [ 'downloads' ])) { if(!empty( $_GET [ 'downloads' ])) { $file = $_GET [ 'downloads' ]; download ( $file ); } } echo "File Downloads <br /><br />" ; echo "<a href=\downloads.php?download=test.zip\">Download !</a>" ; ?> das is der Code ... Verzeichnisstruktur: downloads/test.zip Kann mir wer helfen... ich komme damit nicht weiter .. weiß einfach net wo der Fehler liegt und dazu muss ich sagen--> Ja wir sind Anfänger + Multi-Zitat Zitieren
#2 1. Mai 2010 AW: Download Scripting Wobei kann man dir denn Helfen? Gibt das Script ein Fehler aus, funktioniert es nicht? + Multi-Zitat Zitieren
#3 1. Mai 2010 AW: Download Scripting Der Fehler: Spoiler Objekt nicht gefunden! Der angeforderte URL konnte auf dem Server nicht gefunden werden. Der Link auf der verweisenden Seite scheint falsch oder nicht mehr aktuell zu sein. Bitte informieren Sie den Autor dieser Seite über den Fehler. Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber. Error 404 localhost 01.05.2010 17:31:09 Apache/2.2.12 (Win32) DAV/2 mod_ssl/2.2.12 OpenSSL/0.9.8k mod_autoindex_color PHP/5.3.0 mod_perl/2.0.4 Perl/v5.10.0 Normalerweise sollte das Fenster erscheinen mit download bzw speichern unter ... und es kommt der Fehler ... sorry hab vergessen den einzufügen! //e: Dazu muss ich sagen wir arbeiten über XAMPP was den Server emuliert. + Multi-Zitat Zitieren
#4 1. Mai 2010 AW: Download Scripting Dann läuft was mit dem Path nicht richtig. Gib mal den kompletten anstatt dem relativen Path an. Der header weiß ja nicht wohin damit. Sprich z.B. "http://localhost/downloads/test.zip" Edit:// Achja dynamisch wäre der Path 'http://localhost' per PHP: $url_dir = "http://" . $_SERVER [ 'HTTP_HOST' ]; zu lösen + Multi-Zitat Zitieren
#5 1. Mai 2010 AW: Download Scripting ich weiß ja ned wo du nen location-header entdeckt hast, aber okay ^^ für mich schaut das eher so aus, als ob das php-script sonstwo deponiert und falsch via localhost aufgerufen wurde. Objekt nicht gefunden = 404 und noch was: PHP: header ( "Content-Description: attachment; filename= $path " ); da habt ihr wohl $path mit $file verwechselt. + Multi-Zitat Zitieren
#6 1. Mai 2010 AW: Download Scripting Du hast unten nach $_GET['downloads'] gefragt, aber es heißt nur "download". Dazu hat beim href ein " gefehlt. Das ist etwas abgeändert wegen Testzwecken, also aufpassen ^^ PHP: <? php function download ( $file ) { $dir = "./" ; $path = $dir . $file ; if(! file_exists ( $path )) { die( "Error: The File does not exists!" ); } else { header ( "Expires: 0" ); header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header ( "Content-Type: application/force-download" ); header ( "Content-Description: File Transfer" ); header ( "Content-Disposition: attachment; filename=" . str_replace ( ' ' , '_' , $file ). ";" ); header ( "Content-Length: " . filesize ( $file )); header ( "Content-Transfer-Encoding: binary" ); @ readfile ( $path ); exit; } } if(isset( $_GET [ 'download' ])) { if(!empty( $_GET [ 'download' ])) { $file = $_GET [ 'download' ]; download ( $file ); } } echo "File Downloads <br /><br />" ; echo "<a href=\"downloads.php?download=test.zip\">Download !</a>" ; ?> + Multi-Zitat Zitieren
#7 1. Mai 2010 AW: Download Scripting wenn es wiederum nicht funktionieren sollte, lass dir einfach mal den pfad mit echo ausgeben. dann kommste schnell auf den fehler. + Multi-Zitat Zitieren
#8 1. Mai 2010 AW: Download Scripting So nach langen überlegungen und kenntnissen aus c# haben wir nun ein neues script erstellt was auch klappt .. dennoch danke an alle die geholfen haben .. gibt für alle ne leckere BW ... der jetztge Quellcode: PHP: <?php $files = array( "1" => "test.zip" , "2" => "blubb.txt" , "3" => "test.bmp" , "4" => "test.mdb" , ); function _download ( $file ) { if(! file_exists ( "downloads/" . $file )) { return 'Die Datei existiert leider nicht mehr.' ; } else { return "<a href='downloads/" . $file . "'>Download</a>" ; } } echo "<table border ='0' cellspacing ='10' cellpadding ='10'>" ; echo "<tr>" ; echo "<td>test.zip</td>" ; echo "<td>" . _download ( $files [ 1 ]). "</td>" ; echo "</tr>" ; echo "<tr>" ; echo "<td>blubb.txt</td>" ; echo "<td>" . _download ( $files [ 2 ]). "</td>" ; echo "</tr>" ; echo "<tr>" ; echo "<td>test.bmp</td>" ; echo "<td>" . _download ( $files [ 3 ]). "</td>" ; echo "</tr>" ; echo "<tr>" ; echo "<td>test.mdb</td>" ; echo "<td>" . _download ( $files [ 4 ]). "</td>" ; echo "</tr>" ; echo "</table>" ; ?> Mfg und danke nochmals! + Multi-Zitat Zitieren
#9 2. Mai 2010 AW: Download Scripting aber so ne ausgabe is wirklich fail^^ da reicht einmal echo am anfang oder direkt als html ausgeben und um die variablen <?php echo variable ?> setzen + Multi-Zitat Zitieren
#10 2. Mai 2010 AW: Download Scripting Wie gesagt ich bin en wirklicher Anfänger und habe was rumgefrickelt und nun klappt es + Multi-Zitat Zitieren