Co dopisać do skryptu aby automatycznie dopasowywał rozmiar.

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Galthar
Nowy
Nowy
Posty: 44
Rejestracja: czw lut 24, 2005 8:12 pm
Lokalizacja: Ostróda
Kontakt:

Co dopisać do skryptu aby automatycznie dopasowywał rozmiar.

Post autor: Galthar »

witam mam skyrpt java ktory otwiera okienka po kliknieciu na miniaturke.
i kod php ktory rozmieszcza zdjecia w galerii...

Kod: Zaznacz cały

<script type="text/JavaScript">
<!--
function pokazOkno(zdjecieNazwa,zdjecieSzerokosc,zdjecieWyskosc,tytul,pozycjaLewo,pozycjaGora) {
noweOkno = window.open("","noweOkno","width="+zdjecieSzerokosc+",height="+zdjecieWyskosc+",left="+pozycjaLewo+",top="+pozycjaGora);
noweOkno.document.open();
noweOkno.document.write('<html><title>'+tytul+'<\/title><body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" 	marginheight="0" marginwidth="0" onClick="self.close()" style="cursor:hand">');
noweOkno.document.write('<img src='+zdjecieNazwa+' width='+zdjecieSzerokosc+' height='+zdjecieWyskosc+' alt='+tytul+'>');
noweOkno.document.write('<\/body><\/html>');
noweOkno.document.close();
noweOkno.focus();
}
//-->
</script>
Ten skrypckik otwiera oddzielne okienko

A tu kod php.

Kod: Zaznacz cały

<?php
	$katalog='./galeria//mini/';
	$kat= opendir($katalog);
	$ext = array('gif', 'jpg', 'png');



	echo'<center><table width="450" cellspacing="4">';

	$k=0;

	while($plik=readdir($kat))
	{
	if(in_array(substr($plik, -3), $ext))
	{
	if($k==0) echo'<tr>';
	$okno = "javascript:pokazOkno('./galeria/full/$plik','800','800','FOTO','5','5');";
	$k++;
        echo '<td align="center">
        <a href="'.$okno.'">
        <img align="center" font color="white"border="0" src="'.$katalog.'/'.$plik.'"alt="'.$plik.'"
	width="120" height="90" ></a><br>'.substr($plik,0 , -4).'</td>';
        if($k==4)
	{
	echo'</tr>';
	$k=0;
	  }
	 }
	}

echo '</table></center>';
closedir($kat);
?>

Wszystko ładnie działa ale chciałbym aby samo dopasowywał okno do zdjęcia. Bo przy większej ilości zdjęć pohlastam się z tym resizowaniem...

Prosze o pomoc i wskazówki..
123456
Zaczyna działać
Zaczyna działać
Posty: 514
Rejestracja: sob paź 28, 2006 1:19 pm

Re: Co dopisać do skryptu aby automatycznie dopasowywał rozmiar.

Post autor: 123456 »

Proponuje rozwiązanie po stronie serwera. Jeśli nie zda egzaminu to przejdziemy do JS i tam będziemy powiększać okno. to modyfikacja ostatniej części kodu który przedstawiłeś:

[php]<?php
$katalog='./galeria//mini/';
$kat= opendir($katalog);
$ext = array('gif', 'jpg', 'png');

echo '<center><table width="450" cellspacing="4">';

$k=0;

while($plik=readdir($kat)) {

$exx = substr($plik, -3);
if(in_array($exx, $ext)){

if($k==0) echo'<tr>';

$kat2 = "./galeria/full/";

if($exx=="jpg")
$img = @imagecreatefromjpeg($kat2$plik);
else if($exx=="gif")
$img = @imagecreatefromgif($kat2$plik);
else
$img = @imagecreatefrompng($kat2$plik);

if($img) {
$pic_h = imagesy($img);
$pic_w = imagesx($img);
ImageDestroy($img);
}

$okno = "javascript:pokazOkno('./galeria/full/$plik','$pic_w','$pic_h','FOTO','5','5');";

$k++;

echo '<td align="center"><a href="'.$okno.'">
<img align="center" font color="white"border="0" src="'.$katalog.'/'.$plik.'"alt="'.$plik.'"
width="120" height="90" ></a><br>'.substr($plik,0 , -4).'</td>';

if($k==4) {

echo'</tr>';
$k=0;
}
}
}
echo '</table></center>';
closedir($kat);
?>[/php]
Nie wiem czy sciezka bedzie sie zgadzala
Galthar
Nowy
Nowy
Posty: 44
Rejestracja: czw lut 24, 2005 8:12 pm
Lokalizacja: Ostróda
Kontakt:

Re: Co dopisać do skryptu aby automatycznie dopasowywał rozmiar.

Post autor: Galthar »

Kod: Zaznacz cały

Parse error: parse error in c:\usr\apache\httpd\html\galeria\harry\n.php on line 53

Poprawiłem ścieżki na miniatury i na pełne obrazy i wyświetla mi błąd w wierszu 53...

Może spróbujmy z JS?




EDIT

Wszystko już gra oto poprawny kod.

Kod: Zaznacz cały

<?php
$katalog='./mini/pion';
$kat= opendir($katalog);
$ext = array('gif', 'jpg', 'png');

echo '<center><table width="450" cellspacing="4">';

$k=0;

while($plik=readdir($kat)) {

   $exx = substr($plik, -3);
   if(in_array($exx, $ext)){

         if($k==0) echo'<tr>';

         $kat2 = "./full/pion/";

         if($exx=="jpg")
            $img = @imagecreatefromjpeg($kat2.$plik);
         else if($exx=="gif")
            $img = @imagecreatefromgif($kat2.$plik);
         else
            $img = @imagecreatefrompng($kat2.$plik);

         if($img) {
                 $pic_h = imagesy($img);
                 $pic_w = imagesx($img);
                 ImageDestroy($img);
         }

         $okno =
          "javascript:pokazOkno('./full/pion/$plik','$pic_w','$pic_h','FOTO','5','
          5');";

         $k++;

         echo '<td align="center"><a href="'.$okno.'">
                    <img align="center" font color="white"border="0"
                     src="'.$katalog.'/'.$plik.'"alt="'.$plik.'"
   width="120" height="90" ></a><br>'.substr($plik,0 , -4).'</td>';

          if($k==4) {

              echo'</tr>';
              $k=0;
         }
  }
}
echo '</table></center>';
closedir($kat);
?>

Wielkie dzięki
ODPOWIEDZ