Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525

    visibilità variabile $HTTP_POST_FILES

    Ho costruito una funzione che gestisce il caricamento di un file ..... il problema è che se utilizzo il codice all'esterno di una funzione va tutto bene; se cerco di gestire il caricamento tramite la chiamata di una funzione, si blocca al primo controllo ossia mi dice "file non caricato" e $FileNameOnClient è vuota.
    Quello che non capisco è che mi riferisco ai dati con variabili globali, perchè non funzionano dentro la funzione???

    Thxx


    function upload_img($dir_foto_strutture,$id_struttura){
    $FileNameOnClient = $HTTP_POST_FILES['file']['name'];
    //$FileNameOnClient = $_FILES['file']['name']; //il nome originale del file preso dal computer dell'utente
    $tipo_file=$HTTP_POST_FILES['file']['type'];
    echo "FileNameOnClient".$FileNameOnClient;

    if (!is_uploaded_file($HTTP_POST_FILES['file']['tmp_name'] )) {
    echo "
    file non caricato";
    echo "
    e: ".$HTTP_POST_FILES['file']['error'] ;

    }
    else{

    $FileNameOnClient=str_replace(" ","_",$FileNameOnClient);
    $src=$_FILES['file']['tmp_name']; //nome temporaneo del file quando viene caricato

    /** Controllo formato **/
    if(($tipo_file != "image/gif") AND ($tipo_file != "image/pjpeg") AND ($tipo_file !="image/jpeg")) {
    echo "formato non ammesso";
    $prova=unlink($src);
    }
    else{
    if(!is_dir("./$dir_foto_strutture/$id_struttura")){
    mkdir("./$dir_foto_strutture/$id_struttura");
    chmod("./$dir_foto_strutture/$id_struttura",0777);
    }

    $dest="./$dir_foto_strutture/$id_struttura/$FileNameOnClient";
    if (!move_uploaded_file($src,$dest)) {
    $prova=unlink($src);
    echo "errore copia";
    }
    }
    }
    }

  2. #2
    Quello che non capisco è che mi riferisco ai dati con variabili globali, perchè non funzionano dentro la funzione???


    Ti sbagli, $HTTP_POST_FILES non è superglobale (cioé visibile in ogni scopo) come lo è $_FILES. Usa quest'ultimo.

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.