Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z grafiką w php
Gordon1x
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 13.06.2007

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


Pobieram obrazek wraz z danymi o nim z bazy danych mysql.
Pobrany obrazek chciał bym zoptymalizować do wybranego rozmiaru zanim zostanie wysłany do użytkownika.

Czy ktoś może przerobić ten kod aby to było możliwe.

  1. <?php
  2. $sql_grafika = "SELECT * FROM galeria WHERE id = '$pathsimg' LIMIT 1"; 
  3. $result_grafika = mysql_query($sql_grafika); 
  4. $row_grafika = mysql_fetch_assoc($result_grafika); 
  5.  
  6. $obrazek = $row_grafika['obrazek']; 
  7. $typ_pliku = $row_grafika['obrazek_mime']; 
  8. $nazwa_pliku = $row_grafika['obrazek_name']; 
  9. $rozmiar_pliku = $row_grafika['obrazek_size']; 
  10.  
  11. // Drukowanie obrazu 
  12.  
  13. header("Content-type:$typ_pliku"); 
  14. header("Content-lenght: $rozmiar_pliku"); 
  15. header("Content-Disposition: attachment; filename = $nazwa_pliku"); 
  16. print ("$obrazek");
  17. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Gordon1x
post
Post #2





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 13.06.2007

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


Wielkie dzięki za pomoc.

Niestety skrypt nie wyświetla obrazków w Internet Explorer.
Czy ktoś może rozwiązać ten problem.

  1. <?php
  2.  
  3. define('FILE_APPEND', 1);
  4.  
  5. include("configs/conf.php");
  6.  
  7. mysql_pconnect ("$mysql[host]", "$mysql[login]", "$mysql[pass]") or
  8.  die ("Nie można połączyć się z bazą danych");
  9. mysql_select_db ("$mysql[baza]") or
  10.  die ("Nie można połączyć się z bazą danych");
  11.  
  12. $sql_grafika = "SELECT * FROM galeria WHERE id = '$pathimg' LIMIT 1";
  13. $result_grafika = mysql_query($sql_grafika);
  14. $row_grafika = mysql_fetch_assoc($result_grafika);
  15.  
  16. $obrazek = $row_grafika['obrazek'];
  17. $typ_pliku = $row_grafika['obrazek_mime'];
  18. $nazwa_pliku = $row_grafika['obrazek_name'];
  19. $rozmiar_pliku = $row_grafika['obrazek_size'];
  20.  
  21. function file_put_contents($n, $d, $flag = false){
  22.  $mode = ($flag == FILE_APPEND || strtoupper($flag) == 'FILE_APPEND') ? 'a' : 'w';
  23.  $f = @fopen($n, $mode);
  24.  if ($f === false){
  25. return 0;
  26.  }
  27.  else {
  28. if (is_array($d)) $d = implode($d);
  29.  $bytes_written = fwrite($f, $d);
  30.  fclose($f);
  31.  return $bytes_written;
  32. }
  33. }
  34.  
  35. $filename = tempnam('', '');
  36. file_put_contents($filename, $obrazek);
  37.  
  38. list($width, $height) = getimagesize($filename);
  39.  
  40. $image_p = imagecreatetruecolor($xsize, $ysize);
  41. $image = imagecreatefromjpeg($filename);
  42. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $xsize, $ysize, $width, $height);
  43.  
  44. unlink($filename);
  45.  
  46. // Jeśli chcesz znać rozmiar nowego obrazka
  47.  
  48.  imagejpeg($image_p, null, $quality);
  49.  $image_data = ob_get_contents();
  50.  
  51. $file_size = strlen($image_data);
  52.  
  53. header("Content-type: $typ_pliku");
  54. header("Content-lenght: $file_size");
  55. header("Content-Disposition: attachment; filename = $nazwa_pliku");
  56. print ("$image_data");
  57.  
  58. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 21:51