|
|
|
| Что за фигня такая - пишу в .htaccess папки с рисунками вот это:
<FilesMatch "\.(gif|jpe?g|png)$">
Deny from all
</FilesMatch>
|
И Опера не показывает рисунок при выводе его рнр-скриптом. Но ведь скриптом же он должен выводиться?! | |
|
|
|
|
|
|
|
для: coloboc66
(12.03.2010 в 15:39)
| | Указываете относительный путь, абсолютный или сетевой? | |
|
|
|
|
|
|
|
для: coloboc66
(12.03.2010 в 15:39)
| | cheops намекает на то, что стоило показать, как выглядит аргумент имени файла в вызове - в скрипте. Ну и сама функция тоже. | |
|
|
|
|
|
|
|
для: Trianon
(13.03.2010 в 08:52)
| | А зачем что-то смотреть, нет доступа, сервер не отдает картинки, нужно снести хтааксес | |
|
|
|
|
|
|
|
для: Красная_шляпа
(13.03.2010 в 15:25)
| | пых читает из файловой системы
.htaccess в данном случае роли не играет если скрипт отдаёт через fopen к примеру | |
|
|
|
|
|
|
|
для: Красная_шляпа
(13.03.2010 в 15:25)
| | Затем, что на fpassthru(fopen('http://'.$_SERVER['HTTP_HOST'].'/images/image.jpg', 'rb'));' файл .htaccess воздействует,
а на fpassthru(fopen($_SERVER['DOCUMENT_ROOT'].'/images/image.jpg', 'rb'));' не воздействует никак,
не смотря на то, что каазалсь бы, файл один и тот же.
Если нет доступа, нужно разобраться, почему нет, а не сносить что-либо. | |
|
|
|
|
|
|
|
для: Trianon
(14.03.2010 в 00:01)
| | Да код-то простой:
файл get_av.php
$av=$_GET['av'];
echo "<img src=".$av.".gif />";
|
Только этот файл выводится в выпадающее окно на ява-скрипт.
<script>
var av="AB";
params="width=100px, height=100px";
window.open("get_av.php?av="+av, "get_av", params);
</script>
|
В Лисе тоже не работает. | |
|
|
|
|
|
|
|
для: coloboc66
(14.03.2010 в 00:42)
| | Посредством <img src=... /> рисунок запрашивается не скриптом, а клиентом - браузером.
Поэтому и. | |
|
|
|
|
|
|
|
для: Trianon
(14.03.2010 в 00:55)
| | Ммм... А как надо? | |
|
|
|
|
|
|
|
для: coloboc66
(14.03.2010 в 00:57)
| | Как-то так.
Файл get_av.php
<?php
$path = "/imagedir";
$name = $_GET['av'];
// в этом месте name нужно отфильтровать от всяких слэшей, точек и прочей нечисти.
$name = preg_replace('([-_a-zA-Z0-9]+)', '\\1', $name);
$name .= '.gif';
$fname = $_SERVER['DOCUMENT_ROOT'] . $path . '/' . $name;
$f = fopen($fname, 'rb');
if(!$f) { header("HTTP/1.0 404 Not found"); exit("File $path/$name not found on the server"); }
$s = filesize($fname);
header("Content-Type: image/gif; name = "\"$name\"");
header("Content-Length: $s");
fpassthru($f);
fclose($f);
?>
|
по большому счету, еще стоило бы удовлетворить проверки кеша и возможности запроса частичного контента. Но не расписывать же здесь все кю стандарта RFC-2616 ? | |
|
|
|
|
|
|
|
для: Trianon
(14.03.2010 в 01:49)
| | О - отлично: рисунок не кэшируется и при Файл - сохранить НЕ СОХРАНЯЕТСЯ. Т.о. пользователь его не сможет сохранить у себя на компе, верно?
Вот только регулярные выражения у меня не работают, наверное потому что кодировка UTF-8. | |
|
|
|
|
|
|
|
для: coloboc66
(15.03.2010 в 16:46)
| | добавьте u | |
|
|
|
|
|
|
|
для: oliss
(15.03.2010 в 17:59)
| | Куда добавить??? | |
|
|
|
|
|
|
|
для: Trianon
(14.03.2010 в 01:49)
| | А почему протокол именно HTTP/1.0 | |
|
|
|
|
|
|
|
для: oliss
(15.03.2010 в 18:01)
| | А разве в этом отклике есть что-то специфическое от 1.1 ?
На какой версии шло обращение можно, конечно, определить, но мне это расписывать было лень.
Повышать версию без предупреждения сервер не имеет права. Клиент может не поддержать такой апгрейд. | |
|
|
|
|
|
|
|
для: Trianon
(14.03.2010 в 01:49)
| | А разве так работать не будет?
<?php
$content = file_get_contents($path);
header("Content-type: image/gif;");
echo $content;
?>
|
| |
|
|
|
|
|
|
|
для: Красная_шляпа
(21.03.2010 в 23:33)
| | Будет. Но хуже. | |
|
|
|
|
|
|
|
для: Trianon
(22.03.2010 в 00:55)
| | И вообще функцию fpassthru отключают как небезопасную | |
|
|
|
|
|
|
|
для: Красная_шляпа
(22.03.2010 в 17:14)
| | >И вообще функцию fpassthru отключают как небезопасную
Функция fpassthru небезопасна?
Так, молодой человек.
Либо Вы приводите аргументы, либо строевым шагом идете ... понятно куда?
PS. Вот ведь блин... лишь бы вякнуть... | |
|
|
|
|
|
|
|
для: Trianon
(23.03.2010 в 01:37)
| | Можете туда сами сходить. | |
|
|
|
|
|
|
|
для: Красная_шляпа
(24.03.2010 в 20:53)
| | То есть аргументов не будет? | |
|
|
|
|
|
|
|
для: Красная_шляпа
(24.03.2010 в 20:53)
| | Это вам навеяла статья http://poetiq.ru/archives/70 ,так там не всё правда | |
|
|
|