Newsgroup: it.comp.lang.javascript
Titolo: Problema con il form per file javascript e php

Il problema è che utilizzando il submit di javascript
$_FILES['videoName']['name']
c'è,
mentre
$_FILES['videoName']['tmp_name']
no
Mi spiego meglio sto creando un form per uploadare video.
Siccome i tempi per il trasferimento dei file sono lunghi, ho pensato di
utilizzare "ajax" in questo modo:
la pagina contiene il form visibile e la gif animata progressbar nascosta.
clickando sul pulsante send, nasconde il form, visualizza la gif e spedisce
il form con questa funzione:
function submitFile( idLoading, idForm, page, video )
{
        // loading image
        createElement( idLoading, idForm );
        visibleLoading( true );
        // aziono il form
        video.action = page;
        video.submit();
};
Quando carica la pagina "page"
$_FILES['videoName']['name']
ossia il nome del file e' presente, mentre
$_FILES['videoName']['tmp_name']
ossia il nome del file temporaneo non c'e'
ed io non posso eseguire la funzione move_uploaded_file()
Qualcuno sa spiegarmi perchè e come posso risolvere questo problema ?
Ho provato a cercare in rete ma niente.
Grazie

 };
A occhio e croce (potrei sbagliarmi) stai sovrascrivendo i campi del form 
prima che vengano spediti.
Ma dal codice che hai postato non si capisce esattamente cosa stai facendo 
(perche` idForm e video? Sono la stessa cosa, ma uno e l'id e l'altro 
l'oggetto DOM?)
Bye.

 l'oggetto DOM?)
Non posto gli script per intero perchè sono lunghini,
comuneque le funzioni javascript interessate sono le seguenti:
function submitFile( idLoading, idForm, page, video )
{
        // loading image
        createElement( idLoading, idForm );
        visibleLoading( true );
        // aziono il form
        video.action = page;
        video.submit();
};
function createElement( idLoading, idForm )
{
        // assegno gli elementi
        element = modifyElement( idForm );
        element_loading = modifyElement( idLoading );
};
function visibleLoading( stato )
{
        if( stato )
        {
                // visualizzo il loading
                element.style.visibility = "hidden";
                element_loading.style.visibility = "visible";
        } else {
                // visualizzo la pagina
                element.style.visibility = "visible";
                element_loading.style.visibility = "hidden";
        }
};
function modifyElement( id_elemento ) {
        var elemento;
        if( document.getElementById )
                elemento = document.getElementById( id_elemento );
        else
                elemento = document.all[id_elemento];
        return elemento;
};
Mentre questa è la parte html della pagina interessata:
<div id="divLoading" style="visibility: hidden;">
        <img src="../image/progressbar.gif" /><br />upload...<br />
</div>
<div id="divForm" >
        <span class="title_form_video">
                Upload Video:
        </span><br/>
        <form method="post" action="#" enctype="multipart/form-data"
name="videoForm">
                <input type="hidden" name="MAX_FILE_SIZE" value="4000000">
                Select video:
                <input class="input_form_video" type="file"
                        size="50" name="videoName" />
                <input type="submit" name="Send" value="Send"
                        onclick="submitFile( 'divLoading', 'divForm',
                                'prova.php?type_video=2', this.form );"/><br/>
                Il video deve essere massimo
                4000000 byte<br/>
        </form>
</div>
Grazie per l'interessamento.

 comuneque le funzioni javascript interessate sono le seguenti:
[cut]
che di "ajax" non ha un bel niente! è un script che nasconde il form a 
favore dell'altro livello prima dell'invio del form stesso
normalmente problemi strani di questo tipo si segnalano in IE, pero' ho 
provato sia con IE che con FF e io non ho problemi - ho fatto una prova in 
locale e quindi la velocità è tale che in realtà il browser non ha il tempo 
di fare il cambio di visione...
cmq ovviamente hai fatto un test con "prova.php" stampando solo i valori di 
$_FILE per evitare che i problemi siano al trove...
se il problema è confermato, allora secondo me devi provare a commentare 
visibleLoading( true ); evitando di nascondere il form e vedere se il 
problema sta lì...

 
Lo script, o meglio, gli script, sono più complessi e lunghini, ho
riportato solo la parte interessata dal problema.
ajax verrà usato dopo, ma senza
$_FILE[form]["tmp_name"]
non potevo andare avanti.
Il problema era nel file di configurazione di php.
Grazie comunque per l'interessamento, ciao.