Autor | Zpráva | ||
---|---|---|---|
KOKOSSAK Profil * |
#1 · Zasláno: 16. 9. 2013, 21:14:18
Dobrý den. Pomocí uploaderu http://tutorialzine.com/2013/05/mini-ajax-file-upload-form/ nahrávám obrázky do úrčitých složek na ftp. V galerii je následně zobrazuju. Při ručním uploaderu - přímo na FTP nemám problém, ovšem při použití uploaderu to z nějakého důvodu nevytvoří miniatury a vypíše to chyby.
http://tutorialzine.com/2013/05/mini-ajax-file-upload-form/ Warning: imagesx() expects parameter 1 to be resource, null given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 49 Warning: Division by zero in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 63 Warning: imagesy() expects parameter 1 to be resource, null given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 53 Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 75 Warning: imagesx() expects parameter 1 to be resource, null given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 49 Warning: imagesy() expects parameter 1 to be resource, null given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 53 Warning: imagecopyresampled() expects parameter 1 to be resource, boolean given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 76 Warning: imagejpeg() expects parameter 1 to be resource, boolean given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 25 Warning: imagesx() expects parameter 1 to be resource, null given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 49 Warning: Division by zero in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 63 Warning: imagesy() expects parameter 1 to be resource, null given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 53 Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 75 Warning: imagesx() expects parameter 1 to be resource, null given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 49 Warning: imagesy() expects parameter 1 to be resource, null given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 53 Warning: imagecopyresampled() expects parameter 1 to be resource, boolean given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 76 Warning: imagejpeg() expects parameter 1 to be resource, boolean given in Má funkce na vytvoření miniatur: <?php class imageResize { var $image; var $image_type; function load($filename) { $image_info = getimagesize($filename); $this->image_type = $image_info[2]; if( $this->image_type == IMAGETYPE_JPEG ) { $this->image = imagecreatefromjpeg($filename); } elseif( $this->image_type == IMAGETYPE_GIF ) { $this->image = imagecreatefromgif($filename); } elseif( $this->image_type == IMAGETYPE_PNG ) { $this->image = imagecreatefrompng($filename); } } function save($filename, $image_type=IMAGETYPE_JPEG, $compression=100, $permissions=null) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image,$filename,$compression); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image,$filename); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image,$filename); } if( $permissions != null) { chmod($filename,$permissions); } } function output($image_type=IMAGETYPE_JPEG) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image); } } function getWidth() { return imagesx($this->image); } function getHeight() { return imagesy($this->image); } function resizeToHeight($height) { $ratio = $height / $this->getHeight(); $width = $this->getWidth() * $ratio; $this->resize($width,$height); } function resizeToWidth($width) { $ratio = $width / $this->getWidth(); $height = $this->getheight() * $ratio; $this->resize($width,$height); } function scale($scale) { $width = $this->getWidth() * $scale/100; $height = $this->getheight() * $scale/100; $this->resize($width,$height); } function resize($width,$height) { $new_image = imagecreatetruecolor($width, $height); imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight()); $this->image = $new_image; } } class galleryThumbs { private $directory; private $folderScan; private $thumbsWidth = 150; function __construct($dir) { if(!is_dir($dir)) { die("Error: folder does not exist!"); } $this->directory = $dir; $this->folderScan = scandir($this->directory); unset($this->folderScan[0]); unset($this->folderScan[1]); } private function getImages($folder) { $images = scandir($folder); foreach($images as $key => $file) { if($file == "thumbs") { unset($images[$key]); } } unset($images[0]); unset($images[1]); return $images; } private function getThumbs($folder) { $images = scandir($folder); unset($images[0]); unset($images[1]); return $images; } private function generateThumbs($imageFolder, $filename) { if(file_exists($imageFolder.$filename)) { $resize = new imageResize; $resize->load($imageFolder.$filename); $resize->resizeToWidth($this->thumbsWidth); $resize->save($imageFolder."thumbs/".$filename); } } public function generate() { foreach($this->folderScan as $folder) { $images = self::getImages($this->directory."/".$folder); $thumbs = self::getImages($this->directory."/".$folder."/thumbs/"); foreach($images as $image) { if(!in_array($image, $thumbs)) { self::generateThumbs($this->directory."/".$folder."/",$image); } } } } } $thumbs = new galleryThumbs("actions"); $thumbs->generate(); ?> V případě, že by se někomu podařilo najít problém a zároveň by dokázal přidat k uploaderu zmenšení obrázku na straně klienta -> Finančně se odměním. Nedávám do to práci a zakázek, protože se možná najde někdo, kdo poradí jen tak alespoň nějakou část, jak se dopracovat do zdárného výsledku. Předem děkuji. |
||
Sir Tom Profil |
#2 · Zasláno: 16. 9. 2013, 22:02:09
KOKOSSAK:
„Warning: imagesx() expects parameter 1 to be resource, null given in /data/web/virtuals/51040/virtual/www/domains/brouccivalmez.cz/includes/actions.php on line 49“ Tato chyba říká: Varování: Funkce imagesx() očekává první parametr zdroj obrázku, ale získala nic. Podle kódu, na který chyba upozorňuje, to znamená, že $this->image je prázdné. $this->image by mělo získat hodnotu ve funkci load(). Mrkni se do té fce load a zjisti, jestli opravdu $this->image má pak nějakou hodnotu. Myslím, že ve složce, nejsou všechny soubory (obrázky) se správnou příponou... |
||
KOKOSSAK Profil * |
#3 · Zasláno: 17. 9. 2013, 16:17:34
Aha, dobře .. Ale jak by to vyřešilo problém, že to při uploadu přes FTP klienta funguje, ale přes uploader nikoliv? Ten uploader přece nemění příponu, nebo se mýlím?
|
||
Sir Tom Profil |
#4 · Zasláno: 17. 9. 2013, 16:28:56
KOKOSSAK:
Nevím, třeba na FTP tento uploader nenajde žádný obrázek. Nebo nemá přístup do složky (nemá na to práva). Nebo se dívá do jiné složky než by měl... |
||
KOKOSSAK Profil * |
#5 · Zasláno: 17. 9. 2013, 16:46:31
Možná se špatně chápeme. Ten Uploader tahá fotografie od KLIENTA na FTP, né z FTP .. takže práva či najít obrázek na PC .. to přece nemůže být problém, ne?
|
||
Davex Profil |
#6 · Zasláno: 17. 9. 2013, 19:23:19
Ono to vypadá, že skript galerie vůbec nepočítá s tím, že se nepodaří fotografie přečíst.
Nenastavuje Uploader nahraným souborům nedostatečná práva nebo nejsou nahrané fotografie poškozené? |
||
peta Profil |
viz [#2] Sir Tom
"Warning: imagesx() expects parameter 1 to be resource, null given" Funkce ocekava prvni parametr resource, dostala null. Na radku 47-49 mas function getWidth() { return imagesx($this->image); $this->image = imagecreatefromjpeg($filename); if (!$this->image) {return;} a ani na to, zda mas prava cist z adresare (na linuxu byvaji prava 0755 slozka, 0644 soubory, nebo mensi, ktere mas asi ty). Mozna by si to chtelo udelat na radku 94, 95 nebo 96, abys videl, jake soubory to nacetlo ( scandir krom souboru nacte take slozky a kdyz predas jmeno slozky do filename, tak cela ta funkce load selze).
echo '<pre>'; print_r($this->folderScan); |
||
Časová prodleva: 11 let
|
0