Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Galeria obrazków w PHP
Forum PHP.pl > Forum > Przedszkole
Baldrascal
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...
Kicok
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.
Baldrascal
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
mike
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.
Baldrascal
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;)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.