Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt co utworzy miniaturki w katalogu przez www
motor
post
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

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


Nie wiem jak mam się do tego zabrać , mam katalog a w nim zdjęcia chciałby m zrobić skrypt który na podstawie zdjęć w katalogu stworzy miniaturki,
wyznacznikiem czy ma zrobić będzie np szerokość minimalna

Ten post edytował motor 30.04.2006, 16:44:28
Go to the top of the page
+Quote Post
Master Miko
post
Post #2





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Niestety skryptu gotowego Ci nie podam (bo nie mam), ale jeśli masz cały katalog zdjęć to mógłbyś...

1. Najpierw użyć readdir do odczytania zdjęć z katalogu
2. Pobierasz przez path info rozszeżenie pliku i sprawdzasz czy to jest obrazek
3.Teraz stosujesz mechanizm pomniejszający (napewno znajdziesz na forum) i zapisujesz plik.


--------------------
Go to the top of the page
+Quote Post
motor
post
Post #3





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

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


Ok skrypt już mam ale jak mam sprawdzić zeby robił tylko jpg ?

  1. <?php
  2.  
  3.  
  4.  
  5. $default_dir = "zdjecia/";
  6. if(!$dp = opendir($default_dir))
  7. {
  8. echo "Nie moge otworzyc ".$default_dir.".";
  9. }
  10. else
  11. {
  12. while($file = readdir($dp))
  13. {
  14. if($file != '.' && $file != '..' )
  15. {
  16.  
  17.  
  18. $nazwanowa = substr($file, 3);
  19.  
  20.  
  21.  
  22. $nowe ="zdjecia/";
  23. $zdjecie = "zdjecia/$file";
  24.  
  25.  
  26.  
  27.  
  28.  
  29. $quality = "65"; 
  30. $imagedata = GetImageSize($zdjecie);
  31. $imagewidth = $imagedata[0];
  32. $imageheight = $imagedata[1];
  33.  $imagetype = $imagedata[2];
  34.  
  35.  $shrinkage = "1";
  36. $dest_height = "75";
  37. $dest_width = "100";
  38.  
  39. $sciezkan="zdjecia/pojazdy/";
  40.  
  41.  
  42. if ($imagewidth > "140" && !file_exists("$sciezkan"."ma_"."$nazwanowa")){
  43.  
  44.  
  45.  
  46. print" <li> $nazwanowa </li>";
  47.  
  48.  $src_img = imagecreatefromjpeg($zdjecie);
  49.  $dst_img = imageCreateTrueColor($dest_width, $dest_height);
  50. ImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_height, $imagewidth, $imageheight);
  51. imagejpeg($dst_img,$nowe."ma_".$nazwanowa, $quality);
  52.  
  53. imagedestroy($src_img);
  54. imagedestroy($dst_img);
  55.  
  56. }
  57.  
  58.  
  59. }
  60. }
  61. closedir($dp);
  62. }
  63. ?>
Go to the top of the page
+Quote Post
Master Miko
post
Post #4





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


  1. <?php
  2.  
  3.  
  4. $path_parts = pathinfo($file);
  5. $file_ext = $path_parts['extension'];
  6.  
  7. $file_ext = strtolower($file_ext); // nie wiem czy to jest potrzebne...
  8.  
  9. if($file_ext == "jpg") {
  10.  
  11. echo "To jest jpg";
  12.  
  13.  
  14.  
  15. } else {
  16.  
  17. echo "To nie jest jpg...";
  18.  
  19. }
  20.  
  21.  
  22.  
  23. ?>





czyli:



  1.  
  2.  
  3.  
  4.  
  5. <?php
  6.  
  7.  
  8.  
  9. $default_dir = "zdjecia/";
  10. if(!$dp = opendir($default_dir))
  11. {
  12. echo "Nie moge otworzyc ".$default_dir.".";
  13. }
  14. else
  15. {
  16. while($file = readdir($dp))
  17. {
  18.  
  19. $path_parts = pathinfo($file);
  20. $file_ext = $path_parts['extension'];
  21. $file_ext = strtolower($file_ext); // nie wiem czy to jest potrzebne...
  22.  
  23. if($file != '.' && $file != '..' && $file_ext == "jpg")
  24. {
  25.  
  26.  
  27. $nazwanowa = substr($file, 3);
  28.  
  29.  
  30.  
  31. $nowe ="zdjecia/";
  32. $zdjecie = "zdjecia/$file";
  33.  
  34.  
  35.  
  36.  
  37.  
  38. $quality = "65"; 
  39. $imagedata = GetImageSize($zdjecie);
  40. $imagewidth = $imagedata[0];
  41. $imageheight = $imagedata[1];
  42.  $imagetype = $imagedata[2];
  43.  
  44.  $shrinkage = "1";
  45. $dest_height = "75";
  46. $dest_width = "100";
  47.  
  48. $sciezkan="zdjecia/pojazdy/";
  49.  
  50.  
  51. if ($imagewidth > "140" && !file_exists("$sciezkan"."ma_"."$nazwanowa")){
  52.  
  53.  
  54.  
  55. print" <li> $nazwanowa </li>";
  56.  
  57.  $src_img = imagecreatefromjpeg($zdjecie);
  58.  $dst_img = imageCreateTrueColor($dest_width, $dest_height);
  59. ImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_height, $imagewidth, $imageheight);
  60. imagejpeg($dst_img,$nowe."ma_".$nazwanowa, $quality);
  61.  
  62. imagedestroy($src_img);
  63. imagedestroy($dst_img);
  64.  
  65. }
  66.  
  67.  
  68. }
  69. }
  70. closedir($dp);
  71. }
  72. ?>
  73.  
  74.  
  75.  


Ten post edytował Master Miko 30.04.2006, 22:57:11


--------------------
Go to the top of the page
+Quote Post
Vogel
post
Post #5





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

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


Cytat(Master Miko @ 2006-04-30 20:27:00)

tego sie nie robi samym rozserzeniem tyko getimagesize()


--------------------
Go to the top of the page
+Quote Post
motor
post
Post #6





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

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


A do tego nie trzeba jeszcze dodać
- jpg
- jpeg

questionmark.gif? żeby działało zawsze
Go to the top of the page
+Quote Post
Master Miko
post
Post #7





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Ja robie to metodą, że skrypt akceptuje tylko pliki .jpg (pliki .jpeg już nie, ale da się to zmodyfikować)

Sposób Vogela jest również dobry, może nawet lepszy... ale ja to zrobiłem tak. Toretycznie wtedy hakkkkkkkkker może napisać srkypt, napisać go w php, zmienić rozszeżenie na .jpg i wrzucić na serwer... tylko po co?
  1. <?php
  2.  
  3.  
  4.  
  5. if(@getimagesize($filename)) {
  6.  
  7. echo "To plik zdjęciowy";
  8.  
  9. } else {
  10.  
  11.  
  12. echo "To nie plik zdjęciowy!";
  13.  
  14. }
  15.  
  16.  
  17.  
  18. ?>


Ten post edytował Master Miko 1.05.2006, 15:52:49


--------------------
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 Aktualny czas: 19.08.2025 - 18:12