2017-06-02 3 views
-2

sein nicht über Datei Duplikatmit PHP Download

// Code nicht arbeiten, weil ich $ zip_url dynamischen

function downloadZipFile($dynamic_url, $filepath){ 
//echo $dynamic_url;exit; 
$zip_url   = $dynamic_url; 
$destination_path = $filepath; 
file_put_contents($destination_path, fopen($zip_url, 'r')); 
} 

// Arbeitskreis zuordnen, aber hier i zuweisen $ zip_url statische

function downloadZipFile($dynamic_url, $filepath){ 
//echo $dynamic_url;exit; 
$zip_url   = "http://training.costaclick.net/WAWS_1_9/Catalog/4dd946a8-32e6-43b8-a592-6596a4509ec5-out.zip"; 
$destination_path = $filepath; 
file_put_contents($destination_path, fopen($zip_url, 'r')); 
} 
+0

Sie herunterladen? oder auch extrahieren? –

+0

@Sindhuja versuchen Sie dies 'http: // www.web-development-blog.com/archives/php-Download-Datei-Skript /' –

+0

@ Touheed Khan Ich möchte Zip-Datei von URL-Beispiel herunterladen http: // testdata/Katalog/d1f87802-be88-4a9b-8765-82d854ec6cd4-out.zip Ja, ich kann diese Zip-Datei mit dem oben genannten Code herunterladen, wenn ich kopiere und varible URL zuweisen. Wenn ich dynamisch gebe, funktioniert es nicht. –

Antwort

0

Versuchen Sie diesen Code:

$ch = curl_init(); 
$source = "http://someurl.com/afile.zip"; //$source = $dynamic_url 
curl_setopt($ch, CURLOPT_URL, $source); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec ($ch); 
curl_close ($ch); 

$destination = "/sub_folder/". uniqid(time(), true) .".zip"; 
$file = fopen($destination, "w+"); 
fputs($file, $data); 
fclose($file); 

$source kann der dynamische Wert der URL sein. uniqid(time(), true) wird zufälligen Dateinamen generieren. In dem werden wir es in Pfad speichern, der in $destination Variable angegeben wird.

Alternative Lösung:

$zip_url   = "http://www.colorado.edu/conflict/peace/download/peace.zip"; 
$destination_path = "/var/www/html/files/".uniqid(time(), true)."zip"; 
file_put_contents($destination_path, fopen($zip_url, 'r')); 

$zip_url wird dynamisch zip url und $destination_path wird Standort auf dem lokalen Computer sein.

Hinweis: Stellen Sie sicher, dass Sie über die entsprechenden Berechtigungen für den Zielpfadordner verfügen.

+0

es geht nicht um doppelte Datei, –

+0

@SindhujaN versuchen Sie einfach beide Lösungen und sagen Sie mir, Ausgabe. Fehler melden. –

+0

@SindhujaN es ist nur eine Vorsichtsmaßnahme, um Probleme zu vermeiden. –

0
<?php // HTTP Headers for ZIP File Downloads 
    // https://perishablepress.com/press/2010/11/17/http-headers-file-downloads/ 

    // set example variables 
    $filename = "Inferno.zip"; 
    $filepath = "/var/www/domain/httpdocs/download/path/"; 

    // http headers for zip downloads 
    header("Pragma: public"); 
    header("Expires: 0"); 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header("Cache-Control: public"); 
    header("Content-Description: File Transfer"); 
    header("Content-type: application/octet-stream"); 
    header("Content-Disposition: attachment; filename=\"".$filename."\""); 
    header("Content-Transfer-Encoding: binary"); 
    header("Content-Length: ".filesize($filepath.$filename)); 
    ob_end_flush(); 
    @readfile($filepath.$filename); 
?> 

reference link