Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782

    [PHP] Immagini non caricate

    Codice PHP:
    <?php
    require_once("config.php"); 
    $directory "/images";
    // inseriamo le dimensioni massime consentite per l'upload
    // massimo peso
    $max_file_size 10240;
    // massima larghezza
    $max_width 300;
    // altezza massima
    $max_height 100;
    //La parte seguente di codice verifica se esiste il valore "upload" in POST
    //In caso contrario viene visualizzato il form per l'upload dell'immagine

    if(!isset($_POST['upload'])){    
     echo 
    "<form action='uploadimage.php' method='post' enctype='multipart/form-data'>    
     Nome Immagine:    
        
     <input type='text' name='nomeimmagine' />    
        
     Inserisci file:    
        
     <input type='file' name='immagine' />    
        
     <input type='submit' name='upload' value='Carica Immagine' /></form>    "
    ;

    // enctype='multipart/form-data' all'interno del tag form è fondamentale per l'upload dell'immagine

    elseif(isset($_POST['upload'])){    
    // prendo il timestamp per dare un nome casuale al file dell'immagine
    $timestamp time();    
    $nomeimmagine mysql_real_escape_string($_POST['nomeimmagine']);    
    $dimensioni getimagesize($_FILES['immagine']['tmp_name']);    
    $larghezza $dimensioni[0];  
    $altezza $dimensioni[1];    

    //costruisco l'array degli errori
    $errors = array();    
    if(empty(
    $nomeimmagine) || empty($dimensioni))    {        
     
    $errors[] = 'Non hai inserito un nome all\'immagine.';
    }    
    if(empty(
    $_FILES['immagine']['name']))    {        
     
    $errors[] = 'Non hai inserito l\'immagine per il caricamento';    
    }   
    //verifico se il file è stato caricato correttamente 
    if(!is_uploaded_file($_FILES['immagine']['tmp_name']))    {        
     
    $errors[] = 'Si sono verificati errori durante l\'upload.';    
    }    
    if(
    $_FILES['immagine']['size'] > $max_file_size)    {        
     
    $errors[] = 'Immagine troppo pesante la dimensiome massima consentita è: [b]' $max_file_size '[/b] bytes.';    


    // Verifico se l'immagine è di tipo jpeg o gif
    $type=$_FILES['immagine']['type'];
    if(
    $type != "image/gif" && $type != "image/pjpeg" && $type != "image/jpeg")    {        
     
    $errors[] = 'L\'immagine deve essere del formato JPEG o GIF.';    
    }  

    // controllo le dimensioni dell'immagine   
    if($altezza $max_width)    {        
     
    $errors[] = 'L\'altezza della tua immagine è troppo grande';    
    }    
    if(
    $larghezza $max_width)    {        
     
    $errors[] = 'La tua immagine è troppo larga.';    
    }    

    // Se ci sono stampo gli errori
    if(count($errors) > 0)    {        
     echo 
    '[b]ERRORS:[/b]
    '
    ;        
     foreach(
    $errors as $err)        {            
     echo 
    $err '
    '
    ;        
     }    
    }   
    //altrimenti effettuo l'upload
    else    {       
     
    $urlimmagine $directorytime() . '_' $_FILES['immagine']['name'];
     
    //inserisco l'immagine nella directory e se tutto va bene nel database
     
    if(copy($_FILES['immagine']['tmp_name'], $urlimmagine)) { 
       
    mysql_query("INSERT INTO immagini (nomeimmagine, urlimmagine) VALUES ('$nomeimmagine', '$urlimmagine')");                
       echo 
    'L\'immagine è stata caricata con successo. [url="' $urlimmagine '"]Clicca qui per vedere l\'immagine[/url].'; }        
     else 
       echo 
    'Si sono verificati errori durante il caricamento dell\'immagine.';
                
    }

    ?>
    eppure in locale mi funzionava... avete qualche idea?
    il file config.php è regolarmente settato con user per ingresso in DB e pass copiati direttamente dall'email ricevuta da aruba, host copiato da email che arriva da aruba e nome pDB pure... consigli?

  2. #2
    Non ho riscontrato problemi nella programmazione prova a sostituire il comando copy con move_uploaded_file.

    Può sempre essere che l'hosting di aruba abbia disabilitato le funzioni di upload per questioni di sicurezza

  3. #3
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    copy($_FILES['immagine']['tmp_name'], $urlimmagine))

    l'ho sosituito con

    move_uploaded_file($_FILES['immagine']['tmp_name'], $urlimmagine))
    pero niente da fare. quando facevo le prove in locale funzionava perfettamente. non ho cambiato niente

  4. #4
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    qualche aiuto?

  5. #5
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    non c'è un metodo per controllare se su aruba è attivata la funzione per il caricamento delle immagini?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.