Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Galeria obrazków w PHP, Problem z wyświetleniem różnych obrazków...
Baldrascal
post 23.04.2007, 15:27:24
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 23.04.2007

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


Witam akurat mój problem polega na tym że moje skrypty nie chcą wyświetlać różnych obrazków w tabelce tylko wyświetlają to samo. Przed tworzeniem tabelki wszystko działało skrypt wyświetlał różne obrazki natomiast przy tablece nie chce. Zaczynam co prawda z tym ale próbowałem wszystkiego co umiem i nic..pomóżcie:

pierwszy skrypt:


<html>
<head>
<title>galeria obrazkow</title>
<body>

<?php
$kat[0]='Obrazki/Ludzie';
$kat[1]='Obrazki/Zwierzeta';
$kat[2]='Obrazki/Przyroda';
$kat[3]='Obrazki/Inne';

echo '<table border="1"><tr>';
for($i=0;$i<4;$i++){
echo "<td>";
$katalog=opendir

($kat[$i]) or die('Nie mozna otworzyc katalogu...');
while ($kata=readdir($katalog))
{
if (is_dir($kata)!='.' && is_dir($kata)!='..'){
$nazwakat = $kat[$i].'/'.$kata;
echo '<a href=fotoal.php?katName='.$nazwakat.'';
echo ">$kata</a><br />";

}
}
echo "</td>";
closedir ($katalog);
}
echo "</table></tr>";
?>

</body>
</html>

Drugi skrypt


<html>
<head><title>ddGaleria obrazków</title>
</head>
<body>

<?php
$katek=opendir($_GET['katName']) or die('Katalog nie istnieje');
$lista=array();
$i=1;
while ($plik=readdir($katek)){
if ($plik<>"." && $plik<>"..") {
if(!is_dir($_GET['katName'].$plik) and eregi("(\.gif|\.jpg|\.JPG|\.JPEG|\.jpeg)",$_GET['katName'].$plik)) {

$lista[$i++]=$plik;

}
}
}
closedir($katek);

$urlkat=$_GET['katName'];
for($i=0;$i<=count($lista);$i++){
$nazwa=$urlkat.'/'.$lista[$i];
}
echo '<table>';
for($j=0;$j<4;$j++){
echo '<tr>';
for($k=0;$k<4;$k++){
$ile=filesize($nazwa)/1000;
echo '<td>';

echo "<br />Nazwa: $nazwa <br />Wielkosc: $ile KB<br /><img src=\"minia.php?pictureName=$nazwa\" border=\"3px solid red\">";
echo '</td>';
}
echo '<tr>';
}
echo '</table>';

?>

</body>
</html>

Trzeci skrypt

<?php


define('THUMBNAIL_SIZE', 200);

if (!isset($_GET['pictureName']) ||
!file_exists($_GET['pictureName']))
die();
$pathInfo = pathinfo($_GET['pictureName']);
if ($pathInfo['extension'] == 'jpg')
$pathInfo['extension'] = 'jpeg';
if (!function_exists(($fName =
'imagecreatefrom'.$pathInfo['extension'])))
die();

$imgHandle = $fName($_GET['pictureName']);
$ratio = ($imgW = imagesx($imgHandle)) /
($imgH = imagesy($imgHandle));
if ($ratio > 1) {
$newImgW = THUMBNAIL_SIZE;
$newImgH = THUMBNAIL_SIZE / $ratio;
} else {
$newImgW = THUMBNAIL_SIZE * $ratio;
$newImgH = THUMBNAIL_SIZE;
}
$newImageHandle = imagecreatetruecolor($newImgW,
$newImgH);
imagecopyresampled($newImageHandle, $imgHandle,
0, 0, 0, 0, $newImgW, $newImgH, $imgW, $imgH);

header('Content-type: image/'.$pathInfo['extension']);
$fName = 'image'.$pathInfo['extension'];
$fName($newImageHandle);

?>

Będę bardzo zadowolony jak ktoś mi z tym pomoże bo mam wykonać projekt na studia i nie wiem jak.Dziękuje bardzo...
Go to the top of the page
+Quote Post
Kicok
post 23.04.2007, 18:52:44
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Cytat
  1. <?php
  2. for($i=0;$i<=count($lista);$i++){
  3. $nazwa=$urlkat.'/'.$lista[$i];
  4. }
  5. ?>


Każde przejście pętli nadpisuje ci zmienną $nazwa.


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
Baldrascal
post 23.04.2007, 20:18:40
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 23.04.2007

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


I co ja mam zrobić z tym? Mógłbyś mi pomóc i powiedzieć do dokładnie zrobić, jak napisać..wiesz nie wiem jak i dlatego proszę o pomoc..dzięki
Go to the top of the page
+Quote Post
mike
post 23.04.2007, 20:51:05
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


1. ~Baldrascal dostałeś pomoc ale musisz sam pomyśleć i spróbować rozwiązać problem.
Nikt za Ciebie tego nie napisze a i tak dostałeś super wskazówką o który fragment chodzi i co jest nie tak.
2. Proszę zapoznać się z tematyką i zasadami panującymi na forum Przedszkole i przesłać mi na PW poprawiony tytuł wątku. Wtedy otworzę. Do tego czasu wątek pozostanie zamkniety.
3. Jak już otworzę to masz obowiązek poprawić pierwszego posta stosując odpowiednie tagi bbCode.
Go to the top of the page
+Quote Post
Baldrascal
post 25.04.2007, 14:04:16
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 23.04.2007

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


No nie wiem jak to zrobić..kurde..ucze się dopiero od 2 tygodni tego PHP..ale próbuje próbuje i nic..może ktoś mi oświeci drogę..będę bardzo wdzięczny, i nie zawale studiów..

Ok problem rozwiązałem. Trzeba było $nazwe zaindeksować i do niej przesyłać nazwy, zamiast ją powielać. Ale ok problem rozwiązany tylko teraz zaś potrzebuje innej pomocy, tzn chce aby na stronie wyświetlał jak wyśietla 16 zdjec, ale jak ich będzie więcej żeby generował kolejne zdjęcia, jeśli mogę prosić o pomoc to bardzo dziękuje.A oto mój kod:
Pierwszy plik index.php:
  1. <html>
  2. <head>
  3. <title>galeria obrazkow</title>
  4. <link rel="stylesheet" type="text/css" href="szablon.css"/>
  5. </head>
  6. <body>
  7.  
  8. <?php
  9. $kat[0]='Obrazki/Ludzie';
  10. $kat[1]='Obrazki/Zwierzeta';
  11. $kat[2]='Obrazki/Przyroda';
  12. $kat[3]='Obrazki/Inne';
  13.  
  14. echo '<table><tr>';
  15. for($i=0;$i<4;$i++){
  16. echo "<td class="linki">";
  17. $katalog=opendir($kat[$i]) or die('Nie mozna otworzyc katalogu...');
  18. while ($kata=readdir($katalog))
  19. {
  20. if ($kata!='.' && $kata!='..'){
  21. $nazwakat = $kat[$i].'/'.$kata;
  22. echo '<a href=fotoal.php?katName='.$nazwakat.'';
  23. echo ">$kata</a><br />";
  24.  
  25. }
  26. }
  27. echo "</td>";
  28. closedir ($katalog);
  29. }
  30. echo "</table></tr>";
  31. ?>
  32.  
  33. </body>
  34. </html>

Oto drugi plik fotoal.php:

  1. <html>
  2. <head><title>ddGaleria obrazków</title>
  3. <link rel="stylesheet" type="text/css" href="szablon.css"/>
  4. </head>
  5. <body>
  6.  
  7. <?php
  8. //Poszukiwanie zdjęć
  9. $katek=opendir($_GET['katName']) or die('Katalog nie istnieje');
  10. $lista=array();
  11. $i=1;
  12. while ($plik=readdir($katek)){
  13. if ($plik!="." && $plik!="..") {
  14. if(!is_dir($_GET['katName'].$plik) and eregi("(.gif|.jpg|.JPG|.JPEG|.jpeg)",$_GET['katName'].$plik)) {
  15.  
  16. $lista[$i++]=$plik;
  17. }
  18. }
  19. }
  20. closedir($katek);
  21.  
  22. //wyświetlanie zdjęć
  23. $nazwa=Array();
  24. $urlkat=$_GET['katName'];
  25.  
  26. for ($i=0;$i<count($lista);$i++) {
  27. $nazwa[$i] = $urlkat.'/'.$lista[$i];
  28. }
  29.  
  30. echo '<table>';
  31. $i = 1;
  32. for($j=0;$j<4;$j++){
  33. echo '<tr>';
  34. for($k=0;$k<4;$k++){
  35. $ile=filesize($nazwa[$i])/1000;
  36. if(file_exists($nazwa[$i])){
  37. echo '<td class="komorka">';
  38. echo "<br /> Nazwa: $lista[$i] <br />Wielkosc: $ile KB<br /><img src="minia.php?pictureName=$nazwa[$i]" border="3px solid red">";
  39. echo '</td>';
  40. $i++;
  41. }
  42. }
  43. echo '<tr>';
  44. }
  45. echo '</table>';
  46.  
  47. ?>
  48.  
  49. </body>
  50. </html>


I trzeci plik minia.php:

  1. <?php
  2.  
  3.  
  4. define('THUMBNAIL_SIZE', 200);
  5.  
  6. if (!isset($_GET['pictureName']) ||
  7. !file_exists($_GET['pictureName']))
  8. die();
  9. $pathInfo = pathinfo($_GET['pictureName']);
  10. if ($pathInfo['extension'] == 'jpg')
  11. $pathInfo['extension'] = 'jpeg';
  12. if (!function_exists(($fName =
  13. 'imagecreatefrom'.$pathInfo['extension'])))
  14. die();
  15.  
  16. $imgHandle = $fName($_GET['pictureName']);
  17. $ratio = ($imgW = imagesx($imgHandle)) /
  18. ($imgH = imagesy($imgHandle));
  19. if ($ratio > 1) {
  20. $newImgW = THUMBNAIL_SIZE;
  21. $newImgH = THUMBNAIL_SIZE / $ratio;
  22. } else {
  23. $newImgW = THUMBNAIL_SIZE * $ratio;
  24. $newImgH = THUMBNAIL_SIZE;
  25. }
  26. $newImageHandle = imagecreatetruecolor($newImgW,
  27. $newImgH);
  28. imagecopyresampled($newImageHandle, $imgHandle,
  29. 0, 0, 0, 0, $newImgW, $newImgH, $imgW, $imgH);
  30.  
  31. header('Content-type: image/'.$pathInfo['extension']);
  32. $fName = 'image'.$pathInfo['extension'];
  33. $fName($newImageHandle);
  34.  
  35. ?>


Dodatkowo jeśli wiecie jak zrobić małe wskaźniki słupkowe odnośnie zawieranego miejsca, bądź macie jakiś skrypt który może mi pomóc, byłbym wdzięczny. Tzn po prostu w każdym dziale ze zdjęciami pokazuje ile ten dział zajmuje w porównaniu do całości w % w graficznej oprawie tzn słupku.

Miało być strony a nie zdjęcia. Generować kolejne strony, bo zdjęcia generuje..hehe;)
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: 14.08.2025 - 17:11