Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt miniaturek dziala na krsnalu
Forum PHP.pl > Forum > Przedszkole
grzesko
  1. <html>
  2. <body>
  3. <form action="indexo.php" method="get">
  4. <input type="tekst" name="gala" value="Wpisz nazwe galerii">
  5. <input type="hidden" name="ok" value="ok">
  6. <input type="submit" name="wyslij" value="wyslij">
  7. </form>
  8.  
  9. <?php
  10. function imgType($name)
  11. {
  12.  if(substr($name, -4, 4) == '.jpg' || substr($name, -4, 4) == 'jpeg')
  13.  {
  14. return "IMAGETYPE_JPEG";
  15.  }
  16.  elseif(substr($name, -4, 4) == '.gif')
  17.  {
  18. return "IMAGETYPE_GIF";
  19.  }
  20.  elseif(substr($name, -4, 4) == '.png')
  21.  {
  22. return "IMAGETYPE_PNG";
  23.  }
  24. }
  25.  
  26. function resizeImage($source, $max_x, $max_y, $save_image, $jpeg_quality = 100)
  27. {
  28.  
  29.  
  30. if(imgType($source) == "IMAGETYPE_JPEG")
  31. {
  32.  $img_src = imagecreatefromjpeg($source);
  33. }
  34. elseif(imgType($source) == "IMAGETYPE_GIF")
  35. {
  36.  $img_src = imagecreatefromgif($source);
  37. }
  38. elseif(imgType($source) == "IMAGETYPE_PNG")
  39. {
  40.  $img_src = imagecreatefrompng($source);
  41. }
  42. else
  43. {
  44.  die('Wrong filetype! Accepted images: JPG/JPEG, GIF, PNG');
  45. }
  46.  
  47.  $image_x = imagesx($img_src);
  48.  $image_y = imagesy($img_src);
  49.  if($image_x > $image_y) // Landscape
  50.  {
  51. $ratio_x = ($image_x > $max_x) ? $max_x/$image_x : 1;
  52. $ratio_y = $ratio_x;
  53. $move = 'y';
  54.  }
  55.  else // Portrait
  56.  {
  57. $ratio_y = ($image_y > $max_y) ? $max_y/$image_y : 1;
  58. $ratio_x = $ratio_y;
  59. $move = 'x';
  60.  }
  61. $new_x = $image_x*$ratio_x;
  62. $new_y = $image_y*$ratio_y;
  63.  
  64. $move_x = ($move == "x") ? ($max_x-$new_x)/: 0;
  65. $move_y = ($move == "y") ? ($max_y-$new_y)/: 0;
  66.  
  67. $new_img = imagecreatetruecolor($max_x, $max_y);
  68. $background = imagecolorallocate($new_img, 255, 255, 255);
  69. imagefill($new_img, 0, 0, $background);
  70. imagecopyresampled($new_img, $img_src, $move_x, $move_y, 0, 0, $new_x, $new_y, $image_x, $image_y);
  71.  
  72. if(imgType($save_image) == "IMAGETYPE_JPEG")
  73. {
  74.  imagejpeg($new_img, $save_image, 100);
  75. }
  76. elseif(imgType($save_image) == "IMAGETYPE_GIF")
  77. {
  78.  imagegif($new_img, $save_image);
  79. }
  80. elseif(imgType($save_image) == "IMAGETYPE_PNG")
  81. {
  82.  imagepng($new_img, $save_image);
  83. }
  84.  
  85.  echo '<img src="'.$save_image.'" border="0">';
  86. }
  87. ?>
  88.  
  89.  
  90. <?
  91. if($ok=='ok')
  92. {
  93.  
  94. print "Utworzono następujące miniaturki <BR>";
  95.  
  96. $folder=$gala.'\zdjecia';
  97.  
  98. $d = dir($folder);
  99. $fotki = array();
  100. while($entry = $d -> read())
  101. {
  102.  if ($entry != "." && $entry != "..")
  103.  {
  104.  $fotki[] = $entry;
  105.  
  106.  }
  107. }
  108. $liczba_fotek = sizeof($fotki);
  109. $d->close();
  110.  
  111. if($liczba_fotek>0)
  112. {
  113.  
  114. $fp = fopen('galerie.txt', 'r');
  115. $stareDane = fread($fp, filesize('galerie.txt'));
  116. fclose($fp);
  117. $noweDane = "\n".$gala;
  118. $noweDane =$stareDane.$noweDane;
  119. $fp = fopen('galerie.txt', 'w');
  120. fputs($fp, $noweDane);
  121. fclose($fp);
  122.  
  123. }
  124.  
  125.  
  126.  
  127. for($i=0;$i<$liczba_fotek-1;$i++)
  128. {
  129.  
  130. resizeImage($gala.'\zdjecia\img ('.$i.').jpg', 150, 100, $gala.'\mini\img ('.$i.').jpg', 100); // (5 parametr opcjonalnie dla jpg)
  131.  
  132. }
  133.  
  134. }
  135.  
  136.  
  137.  
  138. ?>
  139. <br>
  140. <a href="index.php">Powrót na Główną</a>
  141. </body>
  142. </html>


wywala blad
Fatal error: Call to a member function on a non-object in /data/members/free/tripod/uk/s/t/d/stdnwk/htdocs/bartek/indexo.php on line 101



Linia99: $d = dir($folder);
Linia100: $fotki = array();
Linia101: while($entry = $d -> read())


ktos moze mi pomoc i powiedziec czemu na kompie mi to dziala wszystko a na serwerze nie chce ruszyc....questionmark.gif
skrypt po wpisaniu do formularza nazwy folderu np GALERIA odczytuje z tego folderu z podfoldeu 'zdjecia' pliki jpg i z nich tworzy miniaturki do podfolderu 'mini' a pozniej same miniaturki wyswietla na tej samej stronie i dopisuje do pliki galerie.txt nazwe kolejnej dodanej galeri....

Bede wdzieczny za rozwiazanie problemu smile.gif
Levabul
Heh komunikat błędu twierdzi że $d nie jest obiektem antomiast manual (http://pl.php.net/manual/pl/class.dir.php) mówi coś innego. Hmmm może działa to tylko na PHP5 ?

ps.
powinno się pisać
  1. <?php
  2. while (false !== ($entry = $d->read()))
  3. ?>


a nie
  1. <?php
  2. while($entry = $d -> read())
  3. ?>
grzesko
tylko ze na krasnalu mam PHP4 smile.gif wiec na tej wersji napewno dziala...
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.