Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> resize image, copy image, resize to mini
john_doe
post 17.03.2010, 10:14:45
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 17.03.2010, 12:14:41
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.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
grzemach
post 18.03.2010, 08:03:45
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 smile.gif


--------------------
Go to the top of the page
+Quote Post
krowal
post 18.03.2010, 08:21:03
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.


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
john_doe
post 18.03.2010, 10:03:59
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 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 18.03.2010, 10:06:01
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 21:55