Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    GD in locale (win) funzia bene, sul server no

    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?

  2. #2
    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!!!

  3. #3
    Originariamente inviato da mircov
    I warnings non si vedono! Se vede solo un notice che dice che manca la var pag.
    si scusa intendevo quello ed è strano...perchè ho messo error_reporting (E_ALL);
    e in locale non me lo dice

    comunque a quello ci posso pensare più avanti... le miniature invece fanno skif VVoVe:

  4. #4
    Questi sono gli errori che mi vengono restituiti se provo a richiamare l'immagine direttamente tramite script:

    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
    Credo proprio che ci siano degli errori nelle operazioni che svolgi per determinare le nuove dimensioni delle immagini.

    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!!!

  5. #5
    La questione è un po' complessa... vediamo di spiegare...
    miniature.php
    codice:
    <!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&amp;rapporto=$rapporto&amp;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&amp;rapporto=$rapporto&amp;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&amp;rapporto=$rapporto&amp;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>
    immagini.php
    codice:
    <?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";
    }
    ?>
    dopo aver visto che files jpeg ci sono nella cartella creo al volo le miniature e le stampo

    e penso che basti per trovare l'errore...

    grazie

  6. #6

  7. #7
    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!!!

  8. #8
    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...

  9. #9
    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!!!

  10. #10
    Originariamente 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!
    non ci siamo capiti
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.