• User

    Problema getimagesize altervista

    Ciao a tutti! In locale ho usato la funzione getimagesize() per ricevere, appunto, le dimensioni di una data immagine. Spostando il tutto su altervista ho notato che la funzione funziona (scusate il gioco di parole), ma non con url esterni al sito.

    Io ho bisogno di analizzare proprio immagini esterne al sito... C'è qualche alternativa?

    Grazie mille!


  • User

    Nessuno che sa come aiutarmi?
    Per me va bene anche se devo apportare grandi modifiche. Mi serve ricevere le dimensioni di un'immagine usando l'url di quest'ultima.

    Grazie ancora


  • User Attivo

    Ciao, puoi postare il codice? 🙂


  • User

    [php]$url2 = $_POST['photo'];
    $size = getimagesize($url);
    $larghezza = $size[0];
    $altezza = $size[1];

    						  if($larghezza == "" || $altezza == ""){
    																echo "Il link inserito non corrisponde ad un'immagine!";
    																}
    						  elseif($larghezza > 500 || $altezza > 500){
    
    
    					  $checkurl = mysql_num_rows(mysql_query("SELECT id FROM foto WHERE url = '$url'"));
    					  if($checkurl > 0){
    											   echo "Foto gi&agrave; inserita! Torna <a href='send_photo.php'><b>Indietro</b></a>!";
    											   }
    					  else{
    						  $user = $_SESSION['utente'];
    					  $queryaddphoto = "INSERT INTO foto (conf, url, sesso, username, ridimensionare) VALUES ('0', '$url', 'm', '$user', '1')";
    					  $addphoto = mysql_query($queryaddphoto);
    					  echo "Grazie! La tua foto &egrave; in fase di approvazione.";
    						  }
    																   }
    						  else{
    
    						  $checkurl = mysql_num_rows(mysql_query("SELECT id FROM foto WHERE url = '$url'"));
    											if($checkurl > 0){
    																	 echo "Foto gi&agrave; inserita! Torna <a href='send_photo.php'><b>Indietro</b></a>!";
    																	 }
    											else{
    												$user = $_SESSION['utente'];
    											$queryaddphoto = "INSERT INTO foto (conf, url, sesso, username) VALUES ('0', '$url', 'm', '$user')";
    											$addphoto = mysql_query($queryaddphoto);
    											echo "Grazie! La tua foto &egrave; in fase di approvazione.";
    												}[/php]
    

    Mi dice sempre che il link non corrisponde ad un'immagine.


  • User Attivo

    Il codice sembra corretto. Magari su Altervista non è possibile inserire l'indirizzo come "url" (non ne sono sicuro) ma solo percorsi assoluti tipo "/www.member/tuo_dominio/nome_cartella/immagine.jpg, e per fare questo dovrai modificare:

    $size = getimagesize ($url);in

    $size = getimagesize ($filename);


  • User

    Grazie per la risposta. Avevo letto qualcosa in merito, ma non ho approfondito poichè, almeno per ora, non riguarda il mio caso. Mi risulta più comodo controllare direttamente da url. Che tu sappia non esiste un'altra funzione?

    Grazie ancora 😉


  • User Attivo

    Ciao, da alcuni "approfondimenti" effettuati in rete, pare che Altervista non consenta la lettura dei file esterni.
    Puoi provare con un metodo alternativo se funziona: leggi il file, lo inserisci in una var e dai la variabile a getimagesize.
    Controlla anche se bisogna attenersi alla regola "allow_url":


  • User

    Mi stai consigliando di usare fopen? Altervista rifiuta anche quello da siti esterni... 😞