Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> copy jpg ze skryptu generującego jpga, a może tak się nie da?
hao
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 12.02.2004

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


W poniższym skrypcie:

  1. <?
  2. $katalog="test";
  3.  
  4. if ($handle = opendir($katalog)):
  5. {
  6.  while (false !== ($file = readdir($handle)))
  7.  {
  8.  if ($file != "." && $file != ".." && substr($file, -3,3) == "jpg" && substr($file, 1,2) != "m_" ):
  9.  {
  10.  copy("$katalog/m.php?pic=$file", "$katalog/m_$file");
  11.  }
  12.  endif;
  13.  }
  14. }
  15. endif;
  16. ?>

chcę wszystkie pliki .jpg skopiować do miniaturek. Plik m.php pobiera sobie plik jpg, pomniejsza go, resampluje i na wyjściu wyrzuca już nowego jpega. (sam plik m.php działą bez zarzutu). Jednak w powyższym skrypcie najwyraźniej funkcja copy nie radzi sobie, kiedy nie podaję "normalnej" ścieżki dostępu do jpega, tylko do pliku generującego jpega. Zaznaczam, że skrypt , gdy podam mu normalną scieżkę tj. np.
  1. <?php
  2. copy("sciezka/plik.jpg", "sciezka/nowy.jpg");
  3. ?>

to działa poprawnie.

W moim przypadku zwraca się komunikat:

Warning: copy(test/m.php?pic=test.jpg): failed to open stream: No such file or directory in /var/www/re/index.php on line 12

Podaję również zawartość pliku m.php:
  1. <?php
  2. // pobieram sobie nazwę obrazka do resamplingu ze zmiennej pic
  3. $filename = $_GET['pic'];
  4. $percent = 0.5; // pomniejsznie o połowe
  5.  
  6. header('Content-type: image/jpeg');
  7.  
  8. list($width, $height) = getimagesize($filename);
  9. $new_width = $width * $percent;
  10. $new_height = $height * $percent;
  11.  
  12. $image_p = imagecreatetruecolor($new_width, $new_height);
  13. $image = imagecreatefromjpeg($filename);
  14. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  15.  
  16. //wyjście
  17. imagejpeg($image_p, null, 100);
  18. ?>

(zresztą ten skrypt jest skopiowany z php.net)

Czy ktoś ma jakiś pomysł na rozwiązanie tego problemu?

Pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


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: 22.08.2025 - 09:56