Как применить стили к картинке открытую по ссылке из php-страницы?

L
На сайте с 25.08.2015
Offline
12
1114

Здравствуйте знатоки.

Действие происходит на локальном OpenServer (5.2.2) (Apache-2.4 PHP-5.5).

Открываю файл php через OpenServer. Php выдаёт список файлов (картинок) лежащих в нужной папке. Этот список со ссылками. При нажатии на ссылку открывается картинка.

Проблема в том, что никаких стилей к открывшейся картинке применить не удаётся (нужно сделать так, чтобы картинка открывалась на всю высоту окна). Сразу видно что появляются отступы (body: margin 8px), которые были изначально выставлены в ноль. То есть, на открытую картинку срабатывают какие-то другие стили, видимо по умолчанию, и скорее всего идут от браузера.

В Мозиле, через консоль разработчика, видно что картинке прописываются стили прямо в тегах (height="315" width="576"). Так же картинке присваивается какой-то класс (class="shrinkToFit"), который управляется через файл стилей лежащему по несуществующему адресу: resource://gre/res/ImageDocument.css

Вобщем, не получается ни перебить стили, ни дописать что-то к этому классу "shrinkToFit". Файл стилей тоже не найти, чтобы изменить, видимо где-то хитро спрятан.

Хотелось бы услышать мнение, как реализовать применение стиля к открывшейся картинке.

Подумал, может возможно как-то скриптом принудительно задать стили уже открытой картинке?

Или хотя бы может кто-нибудь подскажет, что происходит, когда нажимаю на ту ссылку с файлом? На какой странице эта картинка открывается?

Мои права в разделе: "Вы не можете прикреплять вложения", поэтому выкладываю код двух файлов.

Расположение их на диске: (C:\OpenServer\domains\site01.2).

---------------------------------------------------------------------

Файл "index.php":

<!-- Рабочая папка файла (C:\OpenServer\domains\site01.2) -->

<!-- Рабочая папка с картинками (C:\OpenServer\domains\site01.2\cls) -->

<!DOCTYPE html>

<html>

<head>

<meta charset='utf-8'>

<title></title>

<!-- <link href='styles.css' rel='stylesheet'> -->

<style type="text/css">

* {

margin: 0;

padding: 0;

border: 0;

}

body {

background: lightslategrey;

}

img {

height: 100% !important;

}

</style>

<frameset border='5' cols='50%, 50%'>

<frame class="block" name='half1' src='half.php'>

<frame class="block" name='half2' src='half.php'>

</frameset>

</head>

<body>

</body>

</html>

---------------------------------------------------------------------

файл "half.php":

<!-- Рабочая папка файла (C:\OpenServer\domains\site01.2) -->

<!-- Рабочая папка с картинками (C:\OpenServer\domains\site01.2\cls) -->

<!DOCTYPE html>

<html>

<head>

<meta charset='utf-8'>

<title>Half</title>

<!-- <link href='styles.css' rel='stylesheet'> -->

<style type="text/css">

* {

margin: 0;

padding: 0;

border: 0;

}

body {

background: lightslategrey;

}

img {

height: 100% !important;

}

</style>

</head>

<body>

<?php

// Выдача списка файлов в папке (найндено в сети)

$dir = "C:/OpenServer/domains/site01.2/cls/"; //задаём имя директории

if(is_dir($dir)) { //проверяем наличие директории

echo $dir.' - директория существует;<br>';

$files = scandir($dir); //сканируем (получаем массив файлов)

array_shift($files); // удаляем из массива '.'

array_shift($files); // удаляем из массива '..'

for($i=0; $i<sizeof($files); $i++) echo '<a href="http://'.$_SERVER['SERVER_NAME']."/cls/".$files[$i].'">'.$files[$i].'</a>;<br>'; //делаем рабочими ссылки на файлы из папки cls (C:\OpenServer\domains\site01.2\cls).

}

else echo $dir.' -такой директории нет;<br>';

?>

</body>

</html>

K0
На сайте с 01.09.2016
Offline
66
#1

Открывайте по ссылке не саму картинку, а сгенерированную другим/этим же скриптом html страничку в которой будет тег img с нужной вам картинкой. И уж к нему применяйте какие захочется стили.

L
На сайте с 25.08.2015
Offline
12
#2
kom09:
Открывайте по ссылке не саму картинку, а сгенерированную другим/этим же скриптом html страничку в которой будет тег img с нужной вам картинкой. И уж к нему применяйте какие захочется стили.

Видимо это вариант. Я новичёк в этом деле. Если не сложно, можете пример кода привести?

L
На сайте с 25.08.2015
Offline
12
#3

Спасибо, ответ помог найти нужное направление для поиска.

В первом файле отправка на страницу:

<?php
echo '<a href="date.php?otpravka2=' . "http://site01.2/cls/4.jpg" .'">ссылка на картинку</a>';
?>

во втором файле приём данных:

<img src="<?php

if (isset($_GET['otpravka2']))
echo 'картинка' . $_GET['otpravka2'];
else
echo 'нет данных';
// проверка того, что данные пришли

?>" alt="картинка">

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий