Просмотр полной версии : Проблема с слешами в php
andreipup
03.03.2010, 14:45
del
Выложи в добавок скрин исходника
wildshaman
03.03.2010, 16:04
Покажи кусок кода, где обрабатывается этот самый файл
andreipup
03.03.2010, 17:38
<?php
if ($_REQUEST['1'] == '666')
{
$file = 'http://www.moisait.ru/123.rar';
header('Content-length: ' . $filesize);
header('Content-Disposition: attachment; filename=' . $file);
header('Content-Type: application/rar; name="' . $file . '"');
echo file_get_contents($file);
exit;
}
?>
<html><head>
Уже что тока не пробовал псих берет
Помогите плиз
fokinkostya
03.03.2010, 19:03
Все верно. В имени файла не могут быть слеши. Они заменяются на нижние подчеркивания.
andreipup
04.03.2010, 16:34
Все верно. В имени файла не могут быть слеши. Они заменяются на нижние подчеркивания.
Помоги плиз как правильно прописать я уже не знаю че и делать(((
Помоги плиз как правильно прописать я уже не знаю че и делать(((
Тебе русским языком сказали что нельзя, возми у себя на компе попробуй создать файл с слешами и другими спец символами.
http://img246.imageshack.us/img246/1714/wwwwwwwwwwwwwwwwww.gif
Решение идиотское но попробуй:
$link = str_replace("_",'"/"',$link);
/// bla bla bla
Deathdreams
04.03.2010, 17:13
не
header('Content-Type: application/rar; name="' . $file . '"');
header('Content-Disposition: attachment; filename=' . $file);
а
header('Content-Type: application/rar; name="' . basename($file) . '"');
header('Content-Disposition: attachment; filename=' . basename($file) );
Pashkela
04.03.2010, 17:14
']Решение идиотское но попробуй:
$link = str_replace("_",'"/"',$link);
/// bla bla bla
почему идиотское - нормальное решение, так и делать при отображении ссылки
Pashkela, я просто сходу придумал, думаю есть более эффективные методы
andreipup
04.03.2010, 17:26
']Решение идиотское но попробуй:
$link = str_replace("_",'"/"',$link);
/// bla bla bla
Извините за тупость куда ссылку тут вставлять
Пример приведите
<?php
if ($_REQUEST['1'] == '666')
{
$file = 'http://www.moisait.ru/123.rar';
header('Content-length: ' . $filesize);
header('Content-Disposition: attachment; filename=' . $file);
header('Content-Type: application/rar; name="' . $file . '"');
echo file_get_contents($file);
exit;
}
?>
<html><head>
Pashkela
04.03.2010, 17:37
в теме уже был правильный ответ от Deathdreams:
<?
$file = 'http://bug-track.ru/prog/toolza1.0.rar';
header('Content-length: ' . $filesize);
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Type: application/rar; name="' . basename($file) . '"');
echo file_get_contents($file);
?>
andreipup
04.03.2010, 17:39
в теме уже был правильный ответ от Deathdreams:
<?
$file = 'http://bug-track.ru/prog/toolza1.0.rar';
header('Content-length: ' . $filesize);
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Type: application/rar; name="' . basename($file) . '"');
echo file_get_contents($file);
?>
Не помогло(
Я уже это проверил.
Подскажите как правильно вставить в код это
$link = str_replace("_",'"/"',$link);
/// bla bla bla
Deathdreams
04.03.2010, 17:55
Подскажите как правильно вставить в код это
$link = str_replace("_",'"/"',$link);
/// bla bla bla
Руками, как ещё ?
andreipup
04.03.2010, 18:02
Руками, как ещё ?
Пожалуйста не издевайся,а покажи на примере вот на этом коде.
Я просто второй день еб... с этим кодом не знаю че и делать(
<?php
if ($_REQUEST['1'] == '666')
{
$file = 'http://www.moisait.ru/123.rar';
header('Content-length: ' . $filesize);
header('Content-Disposition: attachment; filename=' . $file);
header('Content-Type: application/rar; name="' . $file . '"');
echo file_get_contents($file);
exit;
}
?>
<html><head>
Pashkela
04.03.2010, 18:03
Не помогло(
а у меня работает и на денвере и на vds
andreipup
04.03.2010, 18:05
а у меня работает и на денвере и на vds
Как же правильно вставить этот кусок кода?
$link = str_replace("_",'"/"',$link);
/// bla bla bla
andreipup
04.03.2010, 21:51
Выручите плиз)
fokinkostya
05.03.2010, 09:08
У тебя имя файла представляет из себя ссылку. В ссылке слеши, слеши в именах файла запрещены! Можешь извлечь из ссылки имя файла и вставить его в нужное место.
<?php
if ($_REQUEST['1'] == '666')
{
$file = 'http://www.moisait.ru/123.rar';
header('Content-length: ' . $filesize);
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Type: application/rar; name="' . basename($file) . '"');
echo file_get_contents($file);
exit;
}
?>
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot