Файл загружен, но размер другой

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
    Вот и вы: alfirdaous.com/Downloads/Medias/Sawtiyat/Quoran/TilawatSheikhs/…
  • 1
    Скорее всего, файл, который вы храните, содержит сообщение об ошибке, а не аудио. Поместите echo file_get_contents(dirname(__FILE__) . '/localfile.tmp'); в конце сценария и посмотрим, что вы получите.
Показать ещё 2 комментария
Теги:
curl

1 ответ

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
    Это тот же результат, файл загружен имеет тот же размер

Ещё вопросы

Сообщество Overcoder
Наверх
Меню