Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Otwierajace sie okno, o wielkosci obrazka w nim zawartego?
kpjeziorak
post 15.02.2004, 22:43:55
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


Mam do Was pytanie:
Czy istnieje mozliwosc w php, napisania skryptu, ktory po kliknieciu na link/obraz_miniature, otworzy mi okno (bez paskow narzedzi itp./same ramki), o wielkosci np. jakiegos obrazka, ktory ma sie wyswietlic w oknie? Tylko zalezy mi na tym, by skrypt sam sprawdzil jaki duzy jest obrazek i otworzyl odpowiednie okno, nie chce recznie edytowac wielkosci okna w linku.


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
czachor
post 15.02.2004, 22:56:45
Post #2





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


[php:1:9991026bbb]<?
$file="plik.jpg";
$a = getimagesize($file);
echo "szer: $a[0], wys: $a[1]";
?>[/php:1:9991026bbb]
pisałem od ręki, ale powinno działać
więcej: getimagesize


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
kpjeziorak
post 15.02.2004, 23:16:43
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


Hm, no dziala biggrin.gif , ale zupelnie nie o to mi chodzi, skrypt, ktory mi napisales pokazuje wielkosc obrazka, a ja potrzebuje skrypt, ktory bedzie mi otwieral okno, o wielkosci danego obrazka, no i oczywiscie w oknie bedzie ten onrazek. Czy istnieje cos takiego? Po za tym nie chce recznie definiowac wielkosci obrazkow, bo mam bardzo duzo obrazkow do wyswietlenia, a mi zalezy na czasie:)


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
Sh4dow
post 15.02.2004, 23:23:06
Post #4





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


proponuje dodac jakies 20px do kazdej wielkosci otrzymanej z getimagesize i otworzenie nowego okienka ale juz poprzez JavaScript przyklad
[php:1:9a3df96703]<?php
$size = GetImageSize ($tutaj_sciazka_obrazka);
$width = $size[0]+10;
$height = $size[1]+10;
echo "<a href="java script: OnClick="window.open('".$tutaj_sciazka_obrazka."','img', 'width=".$width.", height=".$height.", menubar=no, scrolling=yes, fullscreen=0');">
<img src="".$tutaj_sciazka_obrazka."" border="0"></a>";
?>[/php:1:9a3df96703]
To jest oczywiscie prosty przyklad, ktory mozna modyfikowac na wiele sposobów, zycze powodzenia biggrin.gif


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
kpjeziorak
post 15.02.2004, 23:46:18
Post #5





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


sad.gif Cos mi nie wychodzi, np. jak mialby wygladac skrypt dla obrazka 03_wikielec.jpg - duzy obrazek, zas miniaturka na ktora klikam to 03_wikielec_small.jpg? Prosze o pomoc, bo jestem zielony w php:(


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
Bakus
post 15.02.2004, 23:56:25
Post #6


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


[php:1:2f166b667b]<?php
function pokaz_obrazek($maly, $duzy)
{
$size = GetImageSize ($duzy);
$width = $size[0]+10;
$height = $size[1]+10;
print '<a href="#" OnClick="window.open(';
print "'" . $duzy . "', 'img, '";
print "width=" . $width . ," height=" . $height;
print ", menubar=no, scrolling=yes');">";
print '<img src="' . $maly . '" border="0"></a>';
}


// dla podanych obrazków zastosuj:
pokaz_obrazek("03_wikielec_small.jpg", "03_wikielec.jpg");
?>[/php:1:2f166b667b]


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
czachor
post 16.02.2004, 10:14:58
Post #7





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


heeeh.. edytowałem później posta i wyciąłem to co powinno jeszcze być rolleyes.gif co prawda masz już rozwiązania podane, ale chodziło mi to:
[php:1:5ce01cc0c1]<?
$file="plik.jpg"; // duży obrazek
$a = getimagesize($file);
?>
<A HREF="java script:displayWindow('<?= $file ?>',<? echo "$a[0],$a[1]" ?>)"><img src="miniaturka.jpg"></a>[/php:1:5ce01cc0c1]
nazwy plików możesz zczytywać np. z tablicy


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
kpjeziorak
post 16.02.2004, 11:08:20
Post #8





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


Niestety, zaden z przykladow, ktore mi podaliscie nie dziala sad.gif , chcialbym skupic sie na ostatnim przykladzie, ktory napisal "Czachor". Prawie wszystki jest ok, poprawnie pokazuje w linku wielkosc obrazka, tzn. okna, ktore ma sie otworzyc, miniatura takze sie wyswietla, jednak gdy klikam na miniature, wyskakuje blad JavaScript,:
Wiersz: 1
Znak: 1
Błąd: Oczekiwano obiektu
Kod: 0

Plik, w ktorym umiescilem skrypt ma rozszerzenie .php, po za przykladem czachora nic wiecej tam nie ma, zadnych innych kodow HTML`a czy innych, zmienilem tylko nazwy plikow, wiec co moze byc nie tak?


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
czachor
post 16.02.2004, 11:19:15
Post #9





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


oki mój błąd sad.gif mam jakiś zły dzień...
na początku dokumentu wstaw oczywiście funkcję displayWindow:
Kod
<script language="JavaScript" type="text/javascript">

function displayWindow(url, width, height) {

        var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=no,menubar=no' );

};

</script>

niektóre przeglądarki czasami wstawiały auomatycznie margines do tego okienka, więc całość trochę się psuła... jeżeli będziesz miał też ten problem, daj znać, zapodam rozwiązanie


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
Sh4dow
post 16.02.2004, 11:29:35
Post #10





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


[php:1:288fc40997]<script>
function img(img, width, height)
{
window.open(''+ img +'', 'img' , 'width=' + width + ', height=' + height + ', menubar=no, scrolling=yes, fullscreen=0');
}
</script>
...
<?php
$size = GetImageSize ($tutaj_sciazka_obrazka);
$width = $size[0]+10;
$height = $size[1]+10;
echo "<a href="java script: img(' ".$tutaj_sciazka_obrazka." ' ". $width ." ', ' ".$height." ');"><img src="".$tutaj_sciazka_mini obrazka."" border="0"></a>";
?>[/php:1:288fc40997]
skrypt w javie obsluguje otwarcie okienka o konkretnych rozmiarach, z obrazkiem lub jakims innym plikiem podanym w pierwszym parametrze. Musisz podac rowniez sciezke do pliku, wzgledna lub od glownego katalogu to jest obojetne. Wywołujesz funkcje tak jak w linku. Nie wiem jak ty to przepisujesz skoro nie dziala, ja podalem ci przyklad dzialajacy u mnie. Jak nie bedzie dzialac to podaj swoj kod z wklejonym skryptem. moze masz gdzies blad.


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
kpjeziorak
post 16.02.2004, 11:57:22
Post #11





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


Do "Czachora": Teraz wszystko dziala, tylko prosilbym wlasnie o to rozwiazanie z marginesami, bo naprawde nie wyglada ciekawie w tej chwili biggrin.gif

Do "Sh4dow": w miejsce $tutaj_sciazka_obrazka wstawiam nazwe obrazka z rozszerzeniem, gdyz znajduje sie w tym samym miejscu co skrypt, no i nie dziala, probuje tez do tego: $tutaj_sciazka_obrazka przypozadkowac [php:1:5c08582050]<?php
$tutaj_sciazka_obrazka = "obraze.jpg";
?>[/php:1:5c08582050]
i tez nie dziala, nie wiem czemu, jako powinien poprawnie wygladac, skrypt dla obrazka obrazek.jpg i miniatury obrazek_small.jpg?


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
czachor
post 16.02.2004, 12:37:21
Post #12





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


oki, więc z tymi marginesami...
Nie jest to chyba najbardziej ekonomiczna metoda, ale nie próbowałem robić lepszej (może ktoś ma myśl, jak to ulepszyć?).
Link w zapodanym wyżej kodzie zmieniłem na:
Kod
<A HREF="javascript:displayWindow('pokaz.php',<? echo "$a[0],$a[1]" ?>)"><img src="miniaturka.jpg"></a>

teraz zawartość pokaz.php:
Kod
<html>

<head>

<title>obrazek</title>

</head>

<body style="margin: 0px">

<img src="plik.jpg">

</body>

</html>

Kliknięcie na małym obrazku otwiera okienko z plikiem pokaz.php, który ma zdefiniowane zerowe marginesy
i tylko wyświetla właściwy obrazek (plik.jpg).
Jeżeli masz więcej obrazków, do linka dostaw jakiś parametr, a w pliku pokaz.php wyświetlaj zależny od parametru obrazek.


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
kpjeziorak
post 16.02.2004, 13:01:25
Post #13





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


No tak dziala, ale do kazdego oddzielnego obrazka musze tworzyc kolejny plik pokaz.php, dalej pokaz2.php itd. na szczescie udalo mi sie rozwiazac ten problem inaczej: w linku definiuje dla szerokosci i dlugosci okna dodatkowo +25px i wyswietla mi okno calkiem przyzwoicie, tak wiec dzieki Ci Czachor za rozwiazanie mojego problemu i tekze dziekuje reszcie, ktora probowala mi pomoc, wasze przyklady pewnie sa poprawne, tylko ja cos mieszam biggrin.gif no coz cienki jestem w te klocki, ale dzieki temu forum duzo sie ucze... PS: Napiszcie jak znacie jakies inne rozwiazania, moze w przyszlosci komus sie przydadza, pozdrawiam...


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
czachor
post 16.02.2004, 13:39:42
Post #14





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


nie musisz tworzyć za każdym razem nowego pliku
ja wyswietlam linki tak..
mam ileś plików np. image1.jpg, image2.jpg.....
wtedy modyfikujesz link do okienka :
np. do image1.jpg:
Kod
....pokaz.php?id=1...    (id to kolejny nr obrazka)
do image2.jpg:
Kod
....pokaz.php?id=2.....

i wtedy pokaz.php:[php:1:5e59b821ab]tutaj nagłówki
<img src="image<?= $id ?>.jpg">[/php:1:5e59b821ab] i wtedy Ci wyświetla konketny obrazek


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
kpjeziorak
post 17.02.2004, 15:53:32
Post #15





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


hmm? Fajne rozwiazanie smile.gif , mysle ze sie przyda, nie wiedzialem - a co ja wogole wiem tongue.gif - ze jest taka mozliwosc, dzieki za pomoc..


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 13:51