Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    upload immagine non funziona...

    ciao a tutti, sto provando a realizzare un piccolo upload di immagini per il mio sito, ma non funziona e mi restituisce questi errori:

    Warning: move_uploaded_file(impgpro/immagineprova.png) [function.move-uploaded-file]: failed to open stream: No such file or directory in .................../upload2.php on line 47

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '.........................../phptmp/phpC1yeoc' to 'impgpro/immagineprova.png' in /........................../upload2.php on line 47

    ho impostato i permessi chmod della cartella a 777 e non funziona lo stesso, il codice del form (pagina upload.php) è:
    codice:
     
    
    <form action="upload2.php" method="post" enctype="multipart/form-data">
           <input name="image" type="file" size="40" />
        
    
    
           <input name="upload" type="submit" value="Carica immagine" />
    </form>
    e quello della pagina di controllo (upload2.php) è:

    codice:
    <?php
    
      if (is_uploaded_file($_FILES['image']['tmp_name'])) 
      
      
      
      {
        // Controllo che il file non superi i 18 KB
        if ($_FILES['image']['size'] > 318432) {
          $msg = "
    
    Il file non deve superare i 18 KB!!</p>";
    
        }
    	
    	
        // Ottengo le informazioni sull'immagine
        list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
    	
        // Controllo che le dimensioni (in pixel) non superino 160x180
        if (($width > 260) || ($height > 380)) {
          $msg = "
    
    Dimensioni non corrette</p>";
       
        }
        // Controllo che il file sia in uno dei formati GIF, JPG o PNG
        if (($type!=1) && ($type!=2) && ($type!=3)) {
          $msg = "
    
    Formato non corretto</p>";
      
        }
        // Verifico che sul sul server non esista già un file con lo stesso nome
      
        if (file_exists('imgpro/'.$_FILES['image']['name'])) {
          $msg = "
    
    File già esistente sul server. Rinominarlo e riprovare.</p>";
      
        }
        // Sposto il file nella cartella 
        if (!move_uploaded_file($_FILES['image']['tmp_name'], 'impgpro/'.$_FILES['image']['name'])) {
          $msg = "
    
    Errore nel caricamento dell'immagine!!</p>";
       
        }
    	
    	else  {(move_uploaded_file($_FILES['image']['tmp_name'], 'impgpro/'.$_FILES['image']['name']));
    	$msg = "
    
    Upload Completato</p>"; }
      }
    
    echo $msg;
    
    ?>

    penso sia un problema di codice, è la prima volta che provo questa cosa...sapete aiutarmi?

  2. #2
    hai solo sbagliato a scrivere il path di destinatione dell'immagine
    'impgpro/'
    credo che la p non ci vada :P

    inoltre, se il move va a buon fine nell'if, non è corretto rifarlo nell'else perchè troverebbe già il file correttamente spostato.

    Codice PHP:
       if (!move_uploaded_file($_FILES['image']['tmp_name'], 'imgpro/'.$_FILES['image']['name']))   
       {
          
    $msg "

    Errore nel caricamento dell'immagine!!</p>"
    ;
        }    
       else
       {
          
    $msg "

    Upload Completato</p>"

       } 

  3. #3
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Vedo due errori principali:
    1. quando fai i vari check semplicemente setti un messaggio, ma fai proseguire l'esecuzione dello script anche se c'è l'errore

    2. il tuo ultimo if fa avvenire lo spostamento del file e poi verifica se è avvenuto correttamente. A quel punto il file è già spostato e quindi non serve (e da errore) cercare di spostarlo ancora:
    else {(move_uploaded_file($_FILES['image']['tmp_name'], 'impgpro/'.$_FILES['image']['name']));
    è inutile e sbagliato

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.