http://www.andreapaiola.it/galleria/miniature.php
In locale non mi da il warning e mi crea correttamente le miniature... cosa può essere?
differenza di versione di GD? differenza di versione PHP? è perchè in locale è sotto win?
http://www.andreapaiola.it/galleria/miniature.php
In locale non mi da il warning e mi crea correttamente le miniature... cosa può essere?
differenza di versione di GD? differenza di versione PHP? è perchè in locale è sotto win?
I warnings non si vedono! Se vede solo un notice che dice che manca la var pag.
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
si scusa intendevo quello ed è strano...perchè ho messo error_reporting (E_ALL);Originariamente inviato da mircov
I warnings non si vedono! Se vede solo un notice che dice che manca la var pag.
e in locale non me lo dice
comunque a quello ci posso pensare più avanti... le miniature invece fanno skif VVoVe:
Questi sono gli errori che mi vengono restituiti se provo a richiamare l'immagine direttamente tramite script:
Credo proprio che ci siano degli errori nelle operazioni che svolgi per determinare le nuove dimensioni delle immagini.codice:Warning: Division by zero in /home/mhd-01/www.andreapaiola.it/htdocs/galleria/immagini.php on line 5 Warning: Division by zero in /home/mhd-01/www.andreapaiola.it/htdocs/galleria/immagini.php on line 6 Warning: imagecreatetruecolor(): Invalid image dimensions in /home/mhd-01/www.andreapaiola.it/htdocs/galleria/immagini.php on line 7 Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/mhd-01/www.andreapaiola.it/htdocs/galleria/immagini.php on line 8 Warning: Cannot modify header information - headers already sent by (output started at /home/mhd-01/www.andreapaiola.it/htdocs/galleria/immagini.php:5) in /home/mhd-01/www.andreapaiola.it/htdocs/galleria/immagini.php on line 13 Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/mhd-01/www.andreapaiola.it/htdocs/galleria/immagini.php on line 14 Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/mhd-01/www.andreapaiola.it/htdocs/galleria/immagini.php on line 15
Solo non so perchè in locale ti funzioni e sul server no! Però se tu provi in win e il server ha linux potrebbe essere questa la causa (a parte le operazioni che al 90% sono sbagliate!). Su linux, per esempio, non è possibile ridimensionare immagini più grandi di n*n. C'è una pillola sul forum riguardo il ridimensionamento. Utilizzando la classe proposta su linux c'erano alcuni problemi.
Prova a postare lo script che usi e vediamo di trovare l'errore.
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
La questione è un po' complessa... vediamo di spiegare...
miniature.php
immagini.phpcodice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it"> <head> <title>Album con paginazione by NEXUS6 alias Andrea Paiola</title> <style type="text/css"> html, body, ul, ul *{margin:0;padding:0} body{font-family:Verdana, Arial, Helvetica, sans-serif; font-size:100%; margin-left:1em; background:#FFCC00} h1{font-size:1.5em} h2{font-size:1.2em} h3{font-size:1em} p,a{font-size:0.9em; color:#000} a:link, a:visited, a:hover{color:#000} a img{border:1px solid #000} a:hover img{border:1px solid #FFF} /*#target{position:absolute; top:8em; left:100px}*/ #target img{display:block} #miniature{height:390px; width:100px; float:left} #navigazione{float:none; clear:both} </style> <script type="text/javascript" src="ahah.js"></script> </head> <body> <div style="float:left; width:100%"> <h1>Galleria dei lavori.</h1> <?php //dichiaro le costanti e alcune variabili che mi serviranno error_reporting (E_ALL); $pag = $_GET['pag']; if ($pag < 1){ $pag = 1; } ?> <h2>Pagina <?php echo $pag ?></h2> <h3>Se vuoi aprire un link in una nuova finestra usa il tasto destro del mouse!</h3> <div id="miniature"> <?php // INIZIO DELLA PARTE DA MODIFICARE!!! // $nipp = numero delle miniature per pagina $nipp = 5; // $alt = proprietà del tag da inserire per l'accessibilità $alt="miniatura di qualcosa di bello."; // $cartella = path relativa a dove si trova questo script da cui leggere i files $cartella = "immagini/"; // $qualita = qualità delle miniature (qualità della compressione jpeg, da 1 a 100) $qualita = 70; // $rapporto = rapporto di ingrandimento (quante volte la miniatura sarà più piccola dell'originale?) $rapporto = "10"; // $rapporto_dinamico = se è definito, il rapporto viene calcolato ogni volta e le miniature hanno la stessa larghezza o altezza indipendenmente dalle dimensioni dell'immagine originale, può valere altezza o largezza a seconda se si voglliono tenere fissi l'uno o l'altro $rapporto_dinamico = "larghezza"; //$rapporto_dinamico = "altezza"; //$rapporto_dinamico = "larghezza"; // se il rapporto è dinamico si può calcolare in base all'altezza o alla larghezza delle miniature, bisogna quindi inserire uno dei due valori $larghezza_miniature="70"; $altezza_miniature=""; // FINE DELLA PARTE DA MODIFICARE!!! $array_immagini = array(); include "files.php"; echo "<div>"; $i=1; foreach ($array_immagini as $immagine) { if ($i > (($pag-1)*$nipp) and $i < (($pag*$nipp)+1)){ $kilo = round(filesize($immagine)/1000); $dim = getimagesize($immagine); $larg = $dim[0]; $alte = $dim[1]; switch ($rapporto_dinamico) { case "": echo " <a href=\"$immagine\"><img src=\"immagini.php?immagine=$immagine&rapporto=$rapporto&qualita=$qualita\" alt=\"$alt($larg x $alte pixel)\"/></a></p>"; break; case "altezza": $rapporto=$alte/$altezza_miniature; echo " <a href=\"$immagine\"><img src=\"immagini.php?immagine=$immagine&rapporto=$rapporto&qualita=$qualita\" alt=\"$alt($larg x $alte pixel)\"/></a></p>"; break; case "larghezza": $rapporto=$larg/$larghezza_miniature; echo "<p id=\"navigazione\"><a href=\"$immagine\"><img src=\"immagini.php?immagine=$immagine&rapporto=$rapporto&qualita=$qualita\" alt=\"$alt($larg x $alte pixel)\" onclick=\"javascript:ahah('immagine.php?immagine=$immagine','target');return false;\" /></a></p>"; break; } } $i++; } echo "</div>"; ?> </div> <div id="target">[img]clicca.jpg[/img]</div> </div> <?php include "paginazione.php"; ?> </body> </html>
dopo aver visto che files jpeg ci sono nella cartella creo al volo le miniature e le stampocodice:<?php function LoadJpeg ($imgname,$rapporto,$qualita) { $size=getimagesize($imgname); $src_img=imagecreatefromjpeg($imgname); $larg=ceil($size[0]/$rapporto); $alte=ceil($size[1]/$rapporto); $im=Imagecreatetruecolor($larg,$alte); imagecopyresampled($im,$src_img,0,0,0,0,$larg,$alte,$size[0],$size[1]); return $im; } if (file_exists($_GET['immagine'])){ $immagine=LoadJpeg($_GET['immagine'], $_GET['rapporto'],$_GET['qualita']); header("content-type: image/jpeg"); imagejpeg($immagine,"",$qualita); imagedestroy($immagine); } else { echo "il file non esiste"; } ?>
e penso che basti per trovare l'errore...
grazie
uppettino
Per prima cosa non sono tanto convinto del passaggio via get delle vars rapporto e quality.
Detto questo dovresti eliminare un errore per volta.
Il primo ed il secondo warning si riferiscono ad una divisione per zero: controlla il valore di $size[0] e $size[1] (il file miniature non c'entra proprio niente). Se sono zero c'è qualcosa che non va. Insomma, analizza lo script mano mano controllando che ti venga restituito esattamente ciò che ti aspetti.
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
ma guarda che lo script è corretto: infatti in locale funzia alla perfezione.
quello che non capisco è perchè online mi fa le miniature schifose oppure non me le fa...
Io non sono un compilatore php! Mi baso su quello che mi dice php.
Lo script, richiamato direttamente, restituisce gli errori che ti ho riportato sopra. Io comincerei con un print_r del risultato di getimagesize e un echo di $rapporto per vedere quale dei due sia zero.
Se fai questi test per capire dove sia l'errore posso continuare a darti una mano altrimenti, così, non ho la minima idea di dove possa essere. Anche a me lo script sembra corretto ma che per me e per te lo sia non è importante! Deve essere corretto per il php altrimenti siamo sempre punto e a capo!
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
non ci siamo capitiOriginariamente inviato da mircov
Io non sono un compilatore php! Mi baso su quello che mi dice php.
Lo script, richiamato direttamente, restituisce gli errori che ti ho riportato sopra. Io comincerei con un print_r del risultato di getimagesize e un echo di $rapporto per vedere quale dei due sia zero.
Se fai questi test per capire dove sia l'errore posso continuare a darti una mano altrimenti, così, non ho la minima idea di dove possa essere. Anche a me lo script sembra corretto ma che per me e per te lo sia non è importante! Deve essere corretto per il php altrimenti siamo sempre punto e a capo!
lo script è corretto (anche per il PHP) e infatti errori non ne da
da solo quel notice sia online che in locale
il notice è dovuto al fatto che nella prima pagina non è definito il valore di $pag in get, ma non importa: è facilmente risolvibile
voglio solo capire perchè in locale le miniature me le fa bene e online no
prova anche un'altra pagina (dove non c'è il notice) http://www.andreapaiola.it/galleria/miniature.php?pag=5
il notice com evedi non centra nulla
ps: se lo richiami direttamente ti da quegli errori perchè gli devi passare dei dati