Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> resize image, copy image, resize to mini
john_doe
post
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


Napisałem funkcje skalującą zdjęcia
  1. function resizeImg( $plik, $extension, $height )
  2. {
  3. $rozmiar = getimagesize( $plik );
  4.  
  5. $szerokosc = $rozmiar[0];
  6.  
  7. $wysokosc = $rozmiar[1];
  8.  
  9. $nowa_wysokosc = $height;
  10.  
  11. $nowa_szerokosc = $szerokosc * ( $nowa_wysokosc / $wysokosc );
  12.  
  13. switch( strtolower($extension) )
  14. {
  15. case 'jpg':
  16. $oryginal = imageCreateFromJpeg( $plik );
  17. break;
  18.  
  19. case 'jpeg':
  20. $oryginal = imageCreateFromJpeg( $plik );
  21. break;
  22.  
  23. case 'gif':
  24. $oryginal = imageCreateFromGif( $plik );
  25. break;
  26.  
  27. }
  28.  
  29. $obrazek = ImageCreateTrueColor( $nowa_szerokosc, $nowa_wysokosc );
  30.  
  31. //ImageCopyResized( $obrazek, $oryginal, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $szerokosc, $wysokosc );
  32.  
  33. $image = imagecreatefromjpeg($plik);
  34.  
  35. imagecopyresampled( $obrazek, $image, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $szerokosc, $wysokosc );
  36.  
  37. ImageJPEG( $obrazek, $plik );
  38.  
  39.  
  40. }


wgrywam sobie przez total commandera fotki na serwer po czym zapuszczam taką funkcję
  1. function readDirectory( $path )
  2. {
  3. $files = scandir( $path );
  4. //echo count($files); // tutaj zaczątek by wypisać, że KATALOG JEST PUSTY <-----
  5. echo '<ul>';
  6.  
  7. for( $i = 0 ; $i <= (count($files) - 1) ; $i++ )
  8. {
  9.  
  10. if( $files[$i] == '..' ) continue;
  11.  
  12. if( $files[$i] == '.' )
  13. {
  14. echo '<a href="index.php?level=../../galleries"><-----</a>';
  15. }
  16.  
  17. if( !is_file( $path . $files[$i] ) )
  18. {
  19. if( $files[$i] == '.' ) continue;
  20.  
  21. echo '<li><a href="index.php?level=' . $path . $files[$i] . '">' . $files[$i] . '</a></li>';
  22. }
  23. else
  24. {
  25. echo '<li>' . $files[$i] . '</li>';
  26.  
  27. $imageSize = getimagesize( $path . $files[$i] );
  28.  
  29. $imageHeight = $imageSize[1];
  30.  
  31. if( $imageHeight != 130 && $imageHeight != 500 )
  32. {
  33.  
  34. $fileExtension = end(explode(".", $files[$i]));
  35.  
  36. resizeImg( $path . $files[$i], $fileExtension, 500 );
  37.  
  38. copy( $path . $files[$i], $path . 'mini_' . $files[$i] );
  39.  
  40. resizeImg( $path . 'mini_' . $files[$i], $fileExtension, 130 );
  41.  
  42. }
  43. }
  44.  
  45. }
  46.  
  47. echo '</ul>';
  48.  
  49. }


wszystko działa tak jak chcę jednak samodzielnie tworzy się plik "mini_Thumbs.db"
i skrypt jego też chce zminiaturyzować i wali warningami. dlaczego on powstaje? jak temu zaradzić?
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To jest plik windowsowy, który zawiera miniatury plików wyświetlane, jeśli widok ustawisz na Miniatury. Możesz śmiało go usunąć a w opcjach folderów odznaczyć opcję tworzenia miniatur.
Go to the top of the page
+Quote Post
grzemach
post
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 4
Dołączył: 9.06.2007
Skąd: Kielce

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


ewentualnie możesz sprawdzać w skrypcie czy dany plik jest obrazkiem... podpowiem, sprawdzaj mimetype danego pliku (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
krowal
post
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


Włącz sobie w swoim windowsie pokazywanie ukrytych plików (i systemowych) i zobacz czy czasem podczas wrzucania na serwer nie wrzucasz tego pliku razem ze zdjęciami.
Go to the top of the page
+Quote Post
john_doe
post
Post #5





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


no właśnie nie. sekwencja wyglada tak:
1. wgrywam dwie fotki przez total commandera ( zaznaczam je )
2. uruchamiam skrypt, który leci po katalogu i ... zmniejsza zdjęcie do 600px wysokości, kopiuje je zmniejsza do mini i zapisuje pod tą samą nazwą tylko z przedrostkiem "mini_"

teraz dzieje się tak, że tworzy się plik thumbs.db i gdy się pojawia skrypt go miniaryzuje ( próbuje ) i wali warningami i nie dziwne bo to nie fota. Nadpisałem troszkę tą funkcję o to by olewał NIE ZDJĘCIA.
Wszystko chodzi ok AAAALE (IMG:style_emoticons/default/smile.gif) dlaczego to się tworzy? nie chce tego... narazie działam na WAMP NA lokalu, pewnie jak to wrzucę na home na unixowy serwer tego nie będzie....

pzdr
Go to the top of the page
+Quote Post
grzemach
post
Post #6





Grupa: Zarejestrowani
Postów: 121
Pomógł: 4
Dołączył: 9.06.2007
Skąd: Kielce

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


zrobiłem sporo tego typu skryptów i mogę Ci z 100% pewnością powiedzieć że Thumb.db jest tworzyony prze windows (TYLKO I WYŁĄCZNIE), nie przez skrypt php. Dlaczego tworzony jest? pewnie otwierasz ten katalog w windowsa...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 05:19