Witam,

mam problem - zawsze aplikacje pisze lokalnie u siebie na laptopie zeby miec ja zawsze ze soba, potem przenosze na serwer testowy, do ktorego ma dostep klient. nigdy nie mialem problemów z przenisonami, na obu komputerach jest zainstalowany serwer LAMPP tylko na laptopie w wersji dla Windy, a na serwerze dla Linuxa.

Wczesniej mialem problem z htaccess - ale to juz dziala, teraz mam problem ze skryptem zmieniajacym wielkosc obrazka pobieranego z BLOBa z bazy...

ponizej kod:

  1. <?php
  2.  
  3. include "functions.php";
  4.  
  5. // getdata.php3 - by Florian Dittmer <dittmer@gmx.net>
  6. // Example php script to demonstrate the direct passing of binary data
  7. // to the user. More infos at http://www.phpbuilder.com
  8. // Syntax: imagev.php?id=<id>&img=<img>
  9.  
  10. $id = $_GET['id'];
  11. $img = $_GET['img'];
  12.  
  13. if($id) {
  14.  
  15. // you may have to modify login information for your database server:
  16. @MYSQL_CONNECT($host,$dblogin,$dbpass);
  17.  
  18. @mysql_select_db($database);
  19.  
  20. $query = "select bindata".$img.", filetype".$img." FROM products WHERE id=".$id;
  21.  
  22. $result = @MYSQL_QUERY($query);
  23.  
  24. $data = @MYSQL_RESULT($result,0,"bindata".$img."");
  25. $type = @MYSQL_RESULT($result,0,"filetype".$img."");
  26.  
  27. Header( "Content-type: $type");
  28.  
  29.  
  30.  $size = 320; // new image width
  31.  $src = imagecreatefromstring($data);
  32.  
  33.  $width = imagesx($src);
  34.  $height = imagesy($src);
  35.  $aspect_ratio = $height/$width;
  36.  
  37.  if ($width <= $size) {
  38.  $new_w = $width;
  39.  $new_h = $height;
  40.  } else {
  41.  $new_w = $size;
  42.  $new_h = abs($new_w * $aspect_ratio);
  43.  }
  44.  
  45.  $img = imagecreatetruecolor($new_w,$new_h);
  46.  imagecopyresized($img,$src,0,0,0,0,$new_w,$new_h,$width,$height);
  47.  
  48.  // determine image type and send it to the client  
  49.  if ($type == "image/pjpeg" or $type == "image/jpeg") {  
  50.  imagejpeg($img);
  51.  } else if ($type == "image/x-png") {
  52.  imagepng($img);
  53.  } else if ($type == "image/gif") {
  54.  imagegif($img);
  55.  }
  56.  imagedestroy($img);
  57.  mysql_close($link);
  58. };
  59.  
  60. ?>


w pliku functions.php jest laczenie z baza i kilka innych funkcji nie uzywanych w tym skrypcie...

problem polega na tym ze ten kod dziala pieknie na windowsie, a nie chce dzialac na linuxie, gdy klikne w firefoxie - view image, pokazuje mi tylko i wylacznie adres do strony w miejscu gdzie poinien byc obrazek, czy ktos ma jakies pomysly co to moze byc questionmark.gif

z gory dzieki
mac

## EDIT

znalazlem cos wiecej: kiedy podejrzalem kod tego pustego jpg-a tylko z adresem url pokazalo mi sie:

  1. <br />
  2. <b>Fatal error</b>:  Allowed memory size of 8388608 bytes exhausted (tried to allocate 9152 bytes) in <b>/opt/lampp/htdocs/posh/functions/imagev.php</b> on line <b>31</b><br />


wyglada to wiec na problem z zapchana pamiecia podreczna.... czy ktos ma pomysl jak jak wyczyscic ? :-)



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sam sobie odpowiem i zostawie dla potomnych.....
  1. <?php
  2.  
  3. ini_set("memory_limit","20M");
  4. ?>


zalatwilo sprawe