Вы не зашли.
Уже нашел ошибку... Каюсь,
свой "}" закомментил, когда твой код вставлял,..
Тут вот другой бок вылез, пытается скачаться файл file.zip размером 1,6кб вместо файла name.jar.. и файл не скачиваеться... сейчас свой скрипт дам,
Добавлено спустя 8 минут 13 секунд: Код:
span style="color: #0000BB"><?php$id = intval($_GET['id']);$mod = $_GET['mod'];if(!empty($id)){include "./inc.php";$q_files = @mysql_query("select * from `quest_files` where `id` = '$id' ;");$data = @mysql_fetch_array($q_files);$url = $data['r_url'];$i = $data['g_size'];$i=$i+1;if($mod=="jad") $url=preg_replace('/.$/', 'd', $url);mysql_query("update `quest_files` set `g_size`='$i' where `id` = '$id'; ");//header ("Location: $url");}$url = 'http://xxx.kmx.ru/file.zip';$referer = $url;ini_set('user_agent',$_SERVER['HTTP_USER_AGENT']."\r\nAccept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\nAccept-Charset: $_SERVER[HTTP_ACCEPT_CHARSET]\r\nAccept-Language: $_SERVER[HTTP_ACCEPT_LANGUAGE]\r\nReferer: ".$referer);$data = file_get_contents($url);$ext = strtolower(strrchr($url,'.'));if($ext == '.jad'){$mime = 'text/vnd.sun.j2me.app-descriptor';}elseif($ext == '.jar'){$mime = 'application/java-archive';}else{$mime = 'application/octet-stream';}header('Accept-Ranges: bytes');header('Content-Length: '.strlen($data));header('Last-Modified: '.gmdate('r',time()).' GMT');header('Connection: close');header('Content-Type: '.$mime);header('Content-Disposition: attachment; filename="'.basename($url).'"');print $data;}else echo "id error";?> |
Отредактировано Oberon (2008.05.14 17:05)
у тебя в 27 строке ошибка... присваиваешь переменной
$url значение реферера.
вот поправленный код.
Код:
span style="color: #0000BB"><?php$id = intval($_GET['id']);$mod = $_GET['mod'];if(!empty($id)){include './inc.php';$data = mysql_fetch_array(mysql_query('SELECT `r_url` FROM `quest_files` WHERE `id` = '.$id));$url = $data['r_url'];if($mod=='jad'){$url = preg_replace('/.$/', 'd', $url);}mysql_query('UPDATE `quest_files` SET `g_size`=g_size+1 WHERE `id` = '.$id);//header('Location: '.$url,true,301);}// реферер$referer = 'http://xxx.kmx.ru/file.zip';ini_set('user_agent',$_SERVER['HTTP_USER_AGENT']."\r\nAccept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\nAccept-Charset: $_SERVER[HTTP_ACCEPT_CHARSET]\r\nAccept-Language: $_SERVER[HTTP_ACCEPT_LANGUAGE]\r\nReferer: ".$referer);$data = file_get_contents($url);$ext = strtolower(strrchr($url,'.'));if($ext == '.jad'){$mime = 'text/vnd.sun.j2me.app-descriptor';}elseif($ext == '.jar'){$mime = 'application/java-archive';}else{$mime = 'application/octet-stream';}header('Accept-Ranges: bytes');header('Content-Length: '.strlen($data));header('Last-Modified: '.gmdate('r',time()).' GMT');header('Connection: close');header('Content-Type: '.$mime);header('Content-Disposition: attachment; filename="'.basename($url).'"');print $data;}else{echo 'id error';}?> |
#13.
Oberon1
Гость
2008.05.14 17:05
А так выдает ошибку
Код:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/darkto/public_html/wapquest/download.php on line 10 |
|
Warning: Cannot modify header information - headers already sent by (output started at /home/darkto/public_html/wapquest/download.php:10) in /home/darkto/public_html/wapquest/download.php on line 35 |
|
Warning: Cannot modify header information - headers already sent by (output started at /home/darkto/public_html/wapquest/download.php:10) in /home/darkto/public_html/wapquest/download.php on line 36 |
|
Warning: Cannot modify header information - headers already sent by (output started at /home/darkto/public_html/wapquest/download.php:10) in /home/darkto/public_html/wapquest/download.php on line 37 |
|
Warning: Cannot modify header information - headers already sent by (output started at /home/darkto/public_html/wapquest/download.php:10) in /home/darkto/public_html/wapquest/download.php on line 38 |
|
Warning: Cannot modify header information - headers already sent by (output started at /home/darkto/public_html/wapquest/download.php:10) in /home/darkto/public_html/wapquest/download.php on line 39 |
|
Warning: Cannot modify header information - headers already sent by (output started at /home/darkto/public_html/wapquest/download.php:10) in /home/darkto/public_html/wapquest/download.php on line 40 |
Я не могу понять эту строчку
Код:
$referer = 'http://xxx.kmx.ru/file.zip'; |
почнму именно http://xxx.kmx.ru/file.zip... может вот так надо
?
#14.
Oberon1
Гость
2008.05.14 17:05
$referer = $url; так тоже выдает ошибку, ту же самую.. Запутался я ,.
Там пару ошибок было, исправил,.. В общем, вот код,
Код:
span style="color: #0000BB"><?php$id = intval($_GET['id']);$mod = $_GET['mod'];if(!empty($id)){include './inc.php';$data = mysql_fetch_array(mysql_query('SELECT `r_url` FROM `quest_files` WHERE `id` = '.$id));$url = $data['r_url'];if($mod=='jad'){$url = preg_replace('/.$/', 'd', $url);}mysql_query('UPDATE `quest_files` SET `g_size`=g_size+1 WHERE `id` = '.$id);//header('Location: '.$url,true,301);}// реферер$referer = $url;ini_set('user_agent',$_SERVER['HTTP_USER_AGENT']."\r\nAccept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\nAccept-Charset: $_SERVER[HTTP_ACCEPT_CHARSET]\r\nAccept-Language: $_SERVER[HTTP_ACCEPT_LANGUAGE]\r\nReferer: ".$referer);$data = file_get_contents($url);$ext = strtolower(strrchr($url,'.'));if($ext == '.jad'){$mime = 'text/vnd.sun.j2me.app-descriptor';}elseif($ext == '.jar'){$mime = 'application/java-archive';}else{$mime = 'application/octet-stream';}header('Accept-Ranges: bytes');header('Content-Length: '.strlen($data));header('Last-Modified: '.gmdate('r',time()).' GMT');header('Connection: close');header('Content-Type: '.$mime);header('Content-Disposition: attachment; filename="'.basename($url).'"');}else{echo 'id error';}?> |
Пробую скачивать, только начинаеться закачка файла (уже тот файл что нужен, даже размер его реальный видно) и сразу закачка обрываеться...
Отредактировано Oberon1 (2008.05.14 18:06)
is not a valid MySQL result - догадайся как переводится? ошибка в SQL запросе
10 строка.
$data = mysql_fetch_array(mysql_query('SELECT `r_url` FROM `quest_files` WHERE `id` = '.$id)); - синтаксических ошибок нет. вероятно с базой что-то не так.
$referer - это РЕФЕРЕР.
$url - это URL, путь к файлу, который ты собираешся скачать.
вобщем они могут иметь одинаковое значение.
можешь писать и
$referer = $url; не важно.
посмотри что у тебя в переменной $url, она будет пустая. Т.к. на наш SQL запрос MySQL ответил руганью.
что за ошибки были? что-то не вижу никакой разницы.
is not a valid MySQL result уже догодался как переводится, поэтому и исправил десятую строку,...
в переменной $var уже прямая ссылка на файл на сайте кмх...
вот про реферер я и не доконца пойму,.. насколько я понимаю, в нем нужно указать http://quest.kmx.ua/ - сайт, с которого идет загрузка,.. Или я чтото не так понимаю,..
да, сайт с которого производится загрузка.
в общем, поменял на $referer = 'http://quest.kmx.ua/'; , ничего не поменялось, - начинаеться загрузка файла, и тут же сбрасывается,..