Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> biblioteka GD, zapisać na dysk, wygenerowaną miniaturę
1maciek
post 26.04.2006, 10:09:19
Post #1





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (10%)
X----


witam, tak jak w temacie, generuje pomniejszone zdjecie i chcialbym zapisac je (to pomniejszone) na dysk, czy jest to mozliwe? a jesli tak to w jaki sposob
pozdrawiam
Go to the top of the page
+Quote Post
eai
post 26.04.2006, 10:16:25
Post #2





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

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


Generujesz odpowiedni nagłówek header() który wysyła pliczek do przeglądarki "do pobrania"

  1. <?php
  2. function downloadFile ($file, $mimetype)
  3. {
  4. $status = 0;
  5. if (($file != NULL) && file_exists($file)) {
  6.  if(isset($_SERVER['HTTP_USER_AGENT']) &&
  7.  preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']))
  8.  {
  9.  // IE Bug in download name workaround
  10.  ini_set( 'zlib.output_compression','Off' );
  11.  }
  12.  // header ('Content-type: ' . mime_content_type($file)
  13.  header ('Content-type: ' . $mimetype);
  14.  header ('Content-Disposition: attachment; filename="'.basename($file).'"');
  15.  header ('Expires: '.gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y"))).' GMT');
  16.  header ('Accept-Ranges: bytes');
  17.  // Use Cache-control: private not following:
  18.  // header ('Cache-control: no-cache, must-revalidate');
  19.  header("Cache-control: private");  
  20.  header ('Pragma: private');
  21.  
  22.  $size = filesize($file);
  23.  if(isset($_SERVER['HTTP_RANGE'])) {
  24.  list($a, $range) = explode("=",$_SERVER['HTTP_RANGE']);
  25.  //if yes, download missing part
  26.  str_replace($range, "-", $range);
  27.  $size2 = $size-1;
  28.  $new_length = $size2-$range;
  29.  header("HTTP/1.1 206 Partial Content");
  30.  header("Content-Length: $new_length");
  31.  header("Content-Range: bytes $range$size2/$size");
  32.  }
  33.  else
  34.  {
  35.  $size2=$size-1;
  36.  header("Content-Range: bytes 0-$size2/$size");
  37.  header("Content-Length: ".$size);
  38.  }
  39.  
  40.  if ($file = fopen($file, 'r')) {
  41.  while(!feof($file) and (connection_status()==0)) {
  42.  print(fread($file, 1024*8));
  43.  flush();
  44.  }
  45.  $status = (connection_status() == 0);
  46.  fclose($file);
  47.  }
  48. }
  49. return($status);
  50. }
  51. ?>


http://pl.php.net/header

Ten post edytował eai 26.04.2006, 10:18:28
Go to the top of the page
+Quote Post
1maciek
post 26.04.2006, 10:36:33
Post #3





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (10%)
X----


chodzilo mi raczej o to aby skrypt to zrobieniu miniatury sam zapisywal go na dysku, bez zadnego pobierz plik, chodzi o to ze uploaduje sobie fotke do galerii a skrypt automatycznie generuje miniature i zapisuje w katalogu z miniaturami
Go to the top of the page
+Quote Post
Jojo
post 26.04.2006, 10:42:23
Post #4





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


Poczytaj w manualu:

imagejpeg" title="Zobacz w manualu php" target="_manual, imagegif" title="Zobacz w manualu php" target="_manual, imagepng" title="Zobacz w manualu php" target="_manual itd.

Tam masz wszystko napisane...


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
1maciek
post 26.04.2006, 10:46:37
Post #5





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (10%)
X----


taki madry jestes Jojo to moze wiesz ktora z tych funkcji sluzy do zapisu, bo wg mnie zadna
Go to the top of the page
+Quote Post
eai
post 26.04.2006, 10:50:17
Post #6





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

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


Jakbys otworzyl jeden z linkow jojo to byś wiedział że:


  1. <?php
  2.  
  3. function miniature($pict, $dest_pict){
  4.  
  5.  $handle = @imagecreatefromjpeg($pict);
  6.  
  7.  $x=imagesx($handle);
  8.  $y=imagesy($handle);
  9.  
  10.  if($x > $y){  
  11.  $max = $x;  
  12.  $min = $y;  
  13.  }  
  14.  if($x <= $y){  
  15.  $max = $y;  
  16.  $min = $x;  
  17.  }  
  18.  
  19. //$size_in_pixel : Size max of the label in pixel. The size of the picture being
  20. //proportional to the original, this value define maximum size
  21. //of largest side with dimensions of the picture. Sorry for my english !
  22.  
  23. //Here $size_in_pixel = 100 for a thumbnail.
  24.  $size_in_pixel = '100';
  25.  
  26.  $rate = $max/$size_in_pixel;
  27.  $final_x = $x/$rate;
  28.  $final_y = $y/$rate;
  29.  
  30.  if($final_x > $x) {
  31.  $final_x = $x;
  32.  $final_y = $y;
  33.  }
  34.  
  35.  $final_x = ceil($final_x);
  36.  $final_y = ceil($final_y);
  37.  
  38.  $black_picture = imageCreatetruecolor($final_x,$final_y);
  39.  imagefill($black_picture,0,0,imagecolorallocate($black_picture, 255, 255, 255));
  40.  imagecopyresampled($black_picture, $handle, 0, 0, 0, 0,$final_x, $final_y, $x, $y);
  41.  
  42.  if(!@imagejpeg($black_picture,$dest_pict.'/mini_'.$pict, $size_in_pixel))
  43.  imagestring($black_picture, 1, $final_x-4, $final_y-8, ".", imagecolorallocate($black_picture,0,0,0));
  44.  
  45.  //The number is the quality of the result picture
  46.  imagejpeg($black_picture,'', '100');
  47.  imagedestroy($handle);
  48.  imagedestroy($black_picture);
  49.  }
  50.  
  51. $pict = "PICT7024.jpg";
  52. $dest_pict = "D:/Program Files/EasyPHP1-7/www/test";
  53. miniature($pict, $dest_pict);
  54.  
  55. ?>
Go to the top of the page
+Quote Post
Jojo
post 26.04.2006, 10:54:46
Post #7





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


Funkcja w komentarzach to jedno a nagłówek funkcji podany na samej górze strony to druga sprawa.
Na przykład:
Cytat
bool imagejpeg ( resource image [, string filename [, int quality]] )

Tak trudno się domyślić do czego służy parametr filename? A jak nie można się domyślić to może warto spróbować...


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
1maciek
post 26.04.2006, 10:55:20
Post #8





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (10%)
X----


i nie mozna tak bylo od razu winksmiley.jpg
wielkie dzieki eai i jojo
Go to the top of the page
+Quote Post
Jojo
post 26.04.2006, 10:57:41
Post #9





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


W zasadzie to mamy tu EOT, ale jeszcze dorzucę parę słów:
A nie można było od razu zajrzeć do manuala? tongue.gif


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
kszychu
post 26.04.2006, 11:06:13
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


@Chomiczek nie matacz! Przeczytaj dokładnie wątek to będziesz wiedział o co chodzi, i że to co podałeś ma się do problemu jak pięść do nosa.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
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: 19.07.2025 - 10:14