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

    problema con ridimensionamento di immagini

    come da titolo, ho un problema con il ridimensionamento di immagini.
    ho preso spunto dalla pillola di marketto [ http://forum.html.it/forum/showthrea...hreadid=760143 ] e ho preso solo il file ridimensiona.php e il config.php.
    ma non mi funziona. Le immagini sono tutte contenute in una cartella ma io non le devo stampare tutte, altrimenti avrei preso tutta la pillola [ che ho provato e funziona correttamente ]
    io faccio un ciclo che mi stampa le immagini in questo modo:

    codice:
    <?
    if ($num_foto != 0){
      mysql_data_seek($res_foto, 0);
      while ($row_foto = mysql_fetch_assoc($res_foto)){
      ?>
        [img]ridimensiona.php?immagine=<? print $row_foto['url']; ?>[/img]
      <?
      }
    }
    ?>
    ma l'immagine non me la stampa! [mi stampa la famosa x rossa].
    però, se io vado a vedere le proprietà dell'immagine e vado a vedermi il dato passato in query string vedo che il dato è giusto! mi copio questo dato e vado a vedere la pagina ridimensiona.php?immagine=blablabla e il come risultato mi stampa blablabla NON ESISTE!

    cosa impossibile! perché se io prendo solo blablabla e la metto nella barra degli indirizzi mi apre correttamente l'immagine!

    quindi dove sbaglio?

    per comodità vi riporto i codici, anche se li trovate anche nella pillola:

    ridimensiona.php
    Codice PHP:
    <?php
    // file ridimensiona.php
    //
    // Marco Barcaro
    // 15/12/2004
    //
    // questa funzione richiede le librerie grafiche GD
    //
    // Testato con Apache 1.3.29, PHP 4.3.10, GD 2.0.28 su winXP
    // Testato con Apache 1.3.26, PHP 4.1.2, GD 2.0 (no supporto x GIF) su Debian
    // Testato con Apache 1.3.33, PHP 4.3.9, GD 2.0 su Linux
    // Testato con Apache 1.3.31, PHP 4.3.3, GD 2.0 su Linux

    // PARAMETRI DI CONFIGURAZIONE
    require_once("config.php");
    define("LARGHEZZA",$larghezza);
    define("ALTEZZA",$altezza);
    define("PROPORZIONI",$proporzioni);
    define("QUALITA",$qualità);

    function 
    ridimensiona($immagine) {
        
    $header=array(1=>"gif",2=>"jpeg",3=>"png",4=>"jpg");
        
    // RIDIMENSIONAMENTO DELLA FOTO
        
    $dimensioni=getimagesize($immagine);
        if (
    $dimensioni[2] == 1)
            
    $img=imagecreatefromgif($immagine);
        if ((
    $dimensioni[2] == 2) || $dimensioni[2] == 4)
            
    $img=imagecreatefromjpeg($immagine);
        elseif (
    $dimensioni[2] == 3)
            
    $img=imagecreatefrompng($immagine);
        
    $altezza=(PROPORZIONI) ? ceil($dimensioni[1]/$dimensioni[0]*LARGHEZZA) : ALTEZZA;
        
    $im=Imagecreatetruecolor(LARGHEZZA$altezza);
        
    imagecopyresampled($im,$img,0,00,0LARGHEZZA,$altezza$dimensioni[0],$dimensioni[1]);
        
    header("content-type: image/".$header[$dimensioni[2]]);
        
    imagejpeg($im,"",QUALITA);
        
    imagedestroy($im);
    }

    $immagine=isset($_GET['immagine']) ? $_GET['immagine'] : "";
    if(
    file_exists($immagine))
        
    ridimensiona($immagine);
    else
        echo 
    "$immagine NON ESISTE!";
    ?>
    config.php
    Codice PHP:
    <?php
    $larghezza
    =200// LARGHEZZA DELLA THUMBNAIL
    $altezza=50// ALTEZZA DELLA THUMBNAIL
    $proporzioni=1// 1=MANTIENI LE PROPORZIONI, 0=NON MANTENERE LE PROPORZIONI
    $qualità=100// QUALITA' DELLA THUMBNAIL (0=MIN, 100=MAX)
    $numerocolonne=4//NUMERO DI COLONNE PER VISUALIZZARE I RISULTATI
    $nomefileridimensiona="ridimensiona.php";
    ?>
    probabilmente sarà una cazzatina, ma non riesco a vederla!

    un grazie a chi mi saprà aiutare!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    ragazzi vi prego! qualcuno mi dà una mano?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    buonaseeeeeeeeeera
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    [supersaibal]Originariamente inviato da 13manuel84
    buonaseeeeeeeeeera [/supersaibal]
    buonasera


    come sono memorizzati i dati dentro $row_foto['url']??


    la funzione file_exists vuole un path locale, solo in alcuni casi con PHP5 puoi usare un URL remoto.



    think simple think ringo

  5. #5
    Grazie per la risposta

    dentro $row['url'] c'è il percorso assoluto, quindi: http://www.miosito.it/img/immagine.jpg devo mettere un percorso relativo?

    adesso devo staccare, torno domani sull'argomento!

    p.s. ah no...ho capito ora...quindi il file che salvo sul server lo devo salvare anche in locale?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    [supersaibal]Originariamente inviato da 13manuel84
    p.s. ah no...ho capito ora...quindi il file che salvo sul server lo devo salvare anche in locale? [/supersaibal]
    il problema è il percorso delle immagini...locale o remoto nn deve essere un url assoluto...
    think simple think ringo

  7. #7
    buongiorno!

    son tornato a lavorare su questo progetto, il problema è che anche passandogli il percorso relativo non funziona.
    dunque, io ho messo i due file che ci sono nel primo post nella stessa cartella delle immagini.
    poi, sempre nella stessa cartella ho messo questo codice:

    codice:
    $sql = "SELECT * FROM file_remoti";
    $res_foto = mysql_query($sql)or die(mysql_error());
    $num_foto = mysql_num_rows($res_foto);
    
    $n = 0;
    if ($num_foto != 0){
      while ($row_foto = mysql_fetch_assoc($res_foto)){
    	$immagine = explode('/', $row_foto['url']);
    	#print_r( $immagine );
    	$immagine = array_pop($immagine);
    	#print( $immagine );
      ?>
        [img]ridimensiona.php?immagine=<? print $immagine; ?>[/img]
      <?
      	print '
    ';
      }
    }
    naturalmente completo di connessione al db etc...
    nelle proprietà dell'immagine si vede come percorso:
    ...ridimensiona.php?immagine=nome.jpg

    sbaglio ancora da qualche parte?

    grazie per le eventuali risposte
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  8. #8
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ho appena provato e tutto funziona


    - richiamando direttamente dal browser lo script per ridimensionare funziona?

    - hai l'error reporting ad E_ALL?



    think simple think ringo

  9. #9
    se richiamo direttamente lo script per ridimensionare mi da l'immagine della x rossa

    si, l'error_reporting è settato E_ALL.

    non capisco perché non funzioni!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    strano...prova a fare un pò di debug, occhio a possibili spazi prima e dopo il codice php (soprattutto nel file ridimensiona.php).




    think simple think ringo

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.