2015-12-12 3 views
1

У меня есть Curl скрипт для загрузки файла, но размер файла, загруженного не совпадает с размером сервера:файла, но размер отличается

окно загрузки всплывающее сообщение:

Document (389 bytes) 

Но файл MP3 и данный документ.

На моем компьютере, когда я проверить информацию о файле, он дан:

Kind: MP3 audio 
Size: 389 bytes (4 KB on disk) 

Код

$url = strip_tags($_GET['path']); 

//echo $url.'<br>'; 

$fileName = strip_tags($_GET['file']); 

//echo $fileName; 

set_time_limit(0); 

header("Pragma: public"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Cache-Control: private",false); 
header("Content-Type: application/download"); 
header("Content-Disposition: filename=$fileName"); 


set_time_limit(0); 
$fp = fopen (dirname(__FILE__) . '/localfile.tmp', 'w+');//This is the file where we save the information 
$ch = curl_init(str_replace(" ","%20",$url.$fileName));//Here is the file we are downloading, replace spaces with %20 
curl_setopt($ch, CURLOPT_TIMEOUT, 50); 
curl_setopt($ch, CURLOPT_FILE, $fp); // write curl response to file 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_exec($ch); // get curl response 
curl_close($ch); 
fclose($fp); 

командной строки, чтобы проверить размер файла на сервере:

419036 Mar 24 2014 001.mp3 

Спасибо за вашу помощь

+0

Здесь вы идете: http://www.alfirdaous.com/Downloads/Medias/Sawtiyat/Quoran/TilawatSheikhs/AhmadAlObaid/11/MP3/alfirdaous.com_AhmadAlObaid_HafsAnAssim_001.mp3 –

+1

Скорее всего, что файл хранения содержит вместо сообщения звучит сообщение об ошибке. Поместите 'echo file_get_contents (dirname (__ FILE__). '/localfile.tmp');' в конце скрипта и посмотреть, что вы получаете. – trincot

+0

echo дал пустой результат –

ответ

0

Это сработало для меня. Также убедитесь, что у пользователя www достаточно разрешения на запись в каталог. Вы использовали неправильные HTTP-накопители для завитки. Вот почему загрузка не удалась.

<?php 

$url = strip_tags($_GET['path']); 

//echo $url.'<br>'; 

$fileName = strip_tags($_GET['file']); 

//echo $fileName; 

set_time_limit(0); 

$fp = fopen (dirname(__FILE__) . '/localfile.tmp', 'w+');//This is the file where we save the information 
$url = str_replace(" ","%20",$url.$fileName); 

$ch = curl_init($url);//Here is the file we are downloading, replace spaces with %20 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Host www.alfirdaous.com', 
    'User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:42.0) Gecko/20100101 Firefox/42.0', 
    'Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 
    'Accept-Language en-US,en;q=0.5', 
    'Accept-Encoding gzip, deflate', 
    'Connection keep-alive', 
)); 
curl_setopt($ch, CURLOPT_TIMEOUT, 50); 
curl_setopt($ch, CURLOPT_FILE, $fp); // write curl response to file 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_exec($ch); // get curl response 
curl_close($ch); 
fclose($fp); 

?> 
+0

Это тот же результат, файл загружен с одинаковым размером –

Смежные вопросы