Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27

Discussione: upload php

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    upload php

    ciao a tutti!! ho un problema
    ho trovato uno script per l'upload di un quaunque file
    il form
    codice:
    <form action="upload.php" method="post" enctype="multipart/form-data">
        
        <input name="image" type="file" size="40" />
        
    
    
        
        <input name="upload" type="submit" value="Carica immagine" />
    </form>
    e la parte in php

    codice:
    do {
      if (is_uploaded_file($_FILES['image']['tmp_name'])) {
        // Controllo che il file non superi i 18 KB
        if ($_FILES['image']['size'] > 18432) {
          $msg = "
    
    Il file non deve superare i 18 KB!!</p>";
          break;
        }
        // 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 > 160) || ($height > 180)) {
          $msg = "
    
    Dimensioni non corrette!!</p>";
          break;
        }
        // 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>";
          break;
        }
        // Verifico che sul sul server non esista già un file con lo stesso nome
        // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
        if (file_exists('upload_img/'.$_FILES['image']['name'])) {
          $msg = "
    
    File già esistente sul server. Rinominarlo e riprovare.</p>";
          break;
        }
        // Sposto il file nella cartella da me desiderata
        if (!move_uploaded_file($_FILES['image']['tmp_name'], 'upload_img/'.$_FILES['image']['name'])) {
          $msg = "
    
    Errore nel caricamento dell'immagine!!</p>";
          break;
        }
      }
    } while (false);
    echo $msg;
    come in questo sito

    http://www.alessioluffarelli.it/guid...e_immagini.php

    ma quando carico un file mi viene fuori la finestra di download della pagina upload.php

    (ho firefox) sapete qual'è il problema???

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    dove stai provando le pagine?
    quasi sicuramente sei in locale..
    hai un webserver attivo? (apache, easyphp o similari..)
    sposta tutto su un server web linux è meglio, dai i permessi di scrittura alla cartella upload_img e vai col tango..

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    no sto usando apache su ubuntu
    ma come do i permessi di scrittura alla cartella upload_img e vai col tango
    può essere perchè non ho creato la cartella upload_img???

    e un altra cosa, cosa devo cambiare per permettere di caricare solo file audio??

    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ho creato la cartella... e ora va... più o meno
    ora da questo errore:
    Warning: move_uploaded_file(upload_img/Schermata.png) [function.move-uploaded-file]: failed to open stream: Permission denied in /var/www/up/upload.php on line 28

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpLVEjVQ' to 'upload_img/Schermata.png' in /var/www/up/upload.php on line 28

    Errore nel caricamento dell'immagine!!

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ti stavo già scrivendo un'altra risposta..
    sulla linea 28 c'è il move_uploaded_file?

    forse è una questione di cartella temporanea ma su questo non saprei aiutarti..
    se ti serve per lo sviluppo di un sito che sarà online ti consiglio di fare le prove di upload direttamente là, sul dominio..

  6. #6
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    i "file audio" non sono una estensione.. per caricare solo alcune estensioni vai qua
    http://www.asciitable.it/mimetypes.asp
    devi aggiungere un controllo tipo:
    Codice PHP:
    //tutti i tipi di file da uploadare
    $cert1 "audio/aiff"
    $cert2 "audio/x-aiff"
    $cert3 "audio/mpeg3"//qui per gli mp3 ne mancano altri di $cert..

    //poi il controllo sui files
    if (($_FILES['tuofile']['type'] == $cert1) or ($_FILES['tuofile']['type'] == $cert2) or ($_FILES['tuofile']['type'] == $cert3)) {
    //fai l'uplaod
    } else {
    echo 
    "tipo di file non riconosciuto";


  7. #7
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    no non posso provarlo su un dominio purtroppo.. altrimenti come si può fare... se devo cambiar parte di codice o se devo far qualcosa sulla cartella temporanea??

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    Originariamente inviato da telegio
    i "file audio" non sono una estensione.. per caricare solo alcune estensioni vai qua
    http://www.asciitable.it/mimetypes.asp
    devi aggiungere un controllo tipo:
    Codice PHP:
    //tutti i tipi di file da uploadare
    $cert1 "audio/aiff"
    $cert2 "audio/x-aiff"
    $cert3 "audio/mpeg3"//qui per gli mp3 ne mancano altri di $cert..

    //poi il controllo sui files
    if (($_FILES['tuofile']['type'] == $cert1) or ($_FILES['tuofile']['type'] == $cert2) or ($_FILES['tuofile']['type'] == $cert3)) {
    //fai l'uplaod
    } else {
    echo 
    "tipo di file non riconosciuto";

    dove lo devo inserire? c'è una riga particolare??

  9. #9
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    prova così anche se non l'ho testato..
    in pratica se la condizione è che quei file sono con quelle estensioni, entra nel tuo ciclo, altrimenti esce..

    Codice PHP:
    //tutti i tipi di file da uploadare
    $cert1 "audio/aiff";
    $cert2 "audio/x-aiff";
    $cert3 "audio/mpeg3"//qui per gli mp3 ne mancano altri di $cert..

    //poi il controllo sui files
    if (($_FILES['image']['type'] == $cert1) or ($_FILES['image']['type'] == $cert2) or ($_FILES['image']['type'] == $cert3)) {

    do {
      if (
    is_uploaded_file($_FILES['image']['tmp_name'])) {
        
    // Controllo che il file non superi i 18 KB
        
    if ($_FILES['image']['size'] > 18432) {
          
    $msg "

    Il file non deve superare i 18 KB!!</p>"
    ;
          break;
        }
        
    // 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 160) || ($height 180)) {
          
    $msg "

    Dimensioni non corrette!!</p>"
    ;
          break;
        }
        
    // 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>"
    ;
          break;
        }
        
    // Verifico che sul sul server non esista già un file con lo stesso nome
        // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
        
    if (file_exists('upload_img/'.$_FILES['image']['name'])) {
          
    $msg "

    File già esistente sul server. Rinominarlo e riprovare.</p>"
    ;
          break;
        }
        
    // Sposto il file nella cartella da me desiderata
        
    if (!move_uploaded_file($_FILES['image']['tmp_name'], 'upload_img/'.$_FILES['image']['name'])) {
          
    $msg "

    Errore nel caricamento dell'immagine!!</p>"
    ;
          break;
        }
      }
    } while (
    false);
    } else {
    echo 
    "tipo di file non riconosciuto";
    }
    echo 
    $msg

    ah.. perchè usi un ciclo do?

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    di php non so tanto, allora l'h cercato online, di c++ ne capisco un pò di più, effettivamente non so a che serve il do, ora provo quello che mi hai detto tu

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.