Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4

    Upload di un file: variabile $_FILES vuota

    Ciao a tutti.
    Da poco ho iniziato a programmare in php, come programmatore sono un po' datato.... diciamo che i linguaggi web non sono il mio forte.
    Ho un problema con l'upload di un file. In una pagina web ho inserito questo codice:

    <input name="file" type="file" size="60" />

    Da quanto ho capito e visto genera una riga per l'inserimento di un percorso di file, con il relativo tasto "sfoglia" per navigare nelle cartelle. Fin qui tutto bene.
    Nella pagina web in questione è presente un tasto "conferma"; quando viene premuto ho messo queste istruzioni:

    if (isset($_POST['conferma']) {
    ......
    if ($_FILES['file']['name']!=="")
    ......

    Ho trovato che la funzione $_files['file'][xxxx] è un'array che contiene alcune caratteristiche del file selezionato.
    Il problema è che l'array in questione è vuoto! Ho provato a stamparne il contenuto e non c'è nulla. Se faccio una print(file) ho il nome del file, ma perdo alcuni dati (come la dimensione) che mi servirebbero.
    Non sono molto pratico, purtroppo;devo fare qualche assegnazione, o eseguire qualche comando per caricare la variabile $_FILES? E' importante in che punto della pagina web faccio questo test (mi spiego meglio: "dietro" il pulsante "conferma" va bene, o devo metterla in altro posizione?).
    Un'amica mi ha parlato di global settings php... ma sinceramente non ho capito dove guardare 'ste global settings.
    Spero di essermi spiegato... qualcuno può darmi una mano???
    Grazie a tutti in anticipo
    Roberto

  2. #2
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    se puoi posta il codice

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4
    Ciao. Mi metti un po' in difficoltà... l'intero file è molto grande; sto modificando del codice preesistente per capire se vale la pena acquistarlo per farci delle modifiche ed utilizzarlo per un mio sito.
    Posto un estratto ... le aree che credo possano interessare. Grazie

    <?
    session_start();
    if ($_SESSION['members']="Active") {
    include_once ("config/config.php");
    include ("temi/header.php");
    ?>


    .............
    .............
    .............

    <?

    if (isset($_POST['conferma']))
    {
    if (!$_SESSION['images_id']) $_SESSION['images_id'] = md5(uniqid(rand(2, 999999999)));
    ### salva l'immagine con un nome random
    $tempNumber = $_SESSION['images_id'];
    # testo se l'utente ha selezionato un file
    if ($_FILES['file']['name']!=="") {
    $sourceFileName = ($_FILES['file']['name']=="") ? $_REQUEST['mainpic'] : $_FILES['file']['name'];
    $fileExtension = getFileExtension($sourceFileName);
    $imageName = "imm".$_SESSION['memberid']."_".$tempNumber."_mainpic.".$fileExtension;
    $imgMaxSize = 102400;
    if ($_FILES['file']['size']<$imgMaxSize) {
    $isUpload = uploadFile($sourceFile,$imageName,"uplimg/");
    if ($isUpload) {
    $_REQUEST['mainpic'] = "uplimg/".$imageName;
    }
    }
    }
    }

    ...........................
    ..........................
    }?>



    <form action="<?=$_SERVER['PHP_SELF'];?>" method="post">
    <table width="100%" border="0" cellpadding="4" cellspacing="2">
    ............
    ............


    <tr class="c3">
    <td height="88" align="right">
    <?=$lang[caricaimmagine]?>


    <?=$lang[campoopzionale]?></td>
    <td><table border="0" cellspacing="2" cellpadding="2">
    <tr>
    <td width="476">


    <input name="file" type="file" size="60" />


    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>


    <table width="100%" border="0" cellpadding="4" cellspacing="2" class="errormessage">
    <tr>
    <td width="150" align="center"><input name="conferma" type="submit" id="conferma" value="<?=$lang[conferma]?>">
    </td>
    <td><?=$lang[Conferma2]?></td>
    </tr>
    </table>

    ................
    ................
    <?
    include ("temi/footer.php");
    } ?>



    Ho messo delle print dopo la riga "if (isset($_POST['conferma']))" per vedere se l'array $_files è valorizzato, ma mi risulta vuoto.
    Spero che basti per capirci qualcosa .....
    Grazie comunque!!!!
    Roby

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4
    Nessuno mi puo' aiutare?? Pleaseeeee
    Roberto

  5. #5
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Aggiungi

    Codice PHP:
    enctype="multipart/form-data" 
    all'interno del tag form.

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4
    Fatto! Ora funziona! Dio, quanto mi sento stupido, ci ho perso non so quanto tempo!
    Grazie mille, Razorblade!!!
    Roberto

  7. #7
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Capita di sbagliare

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.