[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP curl, скачка файлов на сервер
maxidon
Господа знатоки, столкнулся с проблемой, моя задача:
1. Загрузить файл на сервер
2. Запаковать его в архив
3. Сохранить файл в папке
Скачиваю с помощью curl
Вот собственно и сам код функции:
$ss = 'http://dl.zaycev.net/d04e7c3d-7de3-4879-bc95-27687155556f/28440/2844055/5sta_family_and_dj_pankratov_-_moya_melodiya.mp3';
$in = $db->getOne('SELECT ID_file FROM upload WHERE URL = ?s',$ss);
if (!empty($in)) {
$name = end(explode("/", $ss));
$name1 = explode(".", $name);
if (!empty($name) and !empty($name1[0])){
$path = '/'.$name;
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$name);
$fp = fopen($path, 'w');

$ch = curl_init($ss);

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);

curl_exec($ch);

curl_close($ch);
echo curl_errno($ch);
fclose($fp);

$file = file_get_contents($ss);
if (!empty($name1[0])){
$new_name = $name1[0].'['.date('d.m.Y').']'.rand(1, 9999).'.bz2';
$bz = bzopen('../dump_out/'.$new_name, 'w');
bzwrite($bz, $file);
bzclose($bz);
// unlink('../dump/'.$name);
$user = isLogin();
if ($user['is']) $id_u = $user['is']['id'];
else $id_u = 0;
$db->query("INSERT INTO upload (URL,name,ID_add) VALUES (?s,?s,?s)",$ss,$new_name,$id_u);
$ID_end = $db->getOne('SELECT ID_file FROM upload WHERE name = ?s',$new_name);
echo json_encode(array('mt'=>'file_suc','val'=>$ID_end));
} else exit(json_encode(array('mt'=>'error','val'=>'Ошибка 1')));
} else (json_encode(array('mt'=>'error','val'=>'Ошибка 2')));
} else echo json_encode(array('mt'=>'file_have','val'=>$in));


Проблема вот в чем, на локальном сервера все работает на Ура!, перенес все на хостинг и тут поехало... Когда код загружает страницу $ss, то как я понимаю он должен сохранять ее в файл, но он открывает ее в браузере, заканчивается мой код страницы и затем
<!DOCTYPE html>
<html>
<head>
<meta
content="text/html; charset=windows-1251" http-equiv="Content-Type"/>
<title>
404 Мы не смогли найти файл, который вы запросили. Возможно он уже не существует.</title>

</head>
<body>


<div
class="download-error">
<div
class="download-error__text">
<h1>
ТУТ ЗАЙЦЕВ НЕТ!</h1>

<p>

404 Мы не смогли найти файл, который вы запросили. Возможно он уже не существует.
</p>

<p>

Вернуться на <a href="http://zaycev.net/">главную страницу</a>.
</p>
</div>
</div>

</body>
</html>

{"mt":"file_suc","val":"67"}
как можно решить это? Пробовал загружать и через гет контент, мув загрузку, copy(). Ничего не получается, везде такой же ответ. Возможно такое что хостинг запрещает мне что-то делать? если запрещает, то что мне им написать по этому поводу, на что ссылаться?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.