Newsgroup: it.comp.www.php
Titolo: Upload di file ... i file scompaiono!

Ciao a tutti.
Sto costruendo delle pagine dove viene richiesto di indicare sulla form il
nome di un file da inviare; la form è così definita:
-------------------------------------------------
 <form enctype = "multipart/form-data" name="newdoc" method="post"
action="newintdoc.php">
     <input type="hidden" name="MAX_FILE_SIZE" value="10240000">
           Seleziona il file: <input name="docpath" type="file" size="50"
maxlength="255">
 </form>
 <p align="center"><a href="javascript:invia()"><img border = "0"
src="img\\newdoc.gif"> Crea il documento</a> -- <a
href="javascript:history.back(-1)"><img border = "0" src="img\\back.gif">
Indietro</a></p>
-------------------------------------------------
Nella funzione invia() viene solo eseguito un    document.newdoc.submit();
Quando tichiamo newintdoc.php le istruzioni che eseguo per recuperare il
file e le sue info sono:
-------------------------------------------------
 if(move_uploaded_file($_FILES['docpath']['tmp_name'], $destpath))
  print "<p>File caricato con successo!</p>";
 else
  print "<p>Errore nel caricamento del file!</p>";
-------------------------------------------------
Purtroppo il browser mi restituisce i seguenti errori:
-------------------------------------------------
Warning:
move_uploaded_file(E:\WWWTest\files\library\B0111\B0111-20031008-508-08):
failed to open stream: No such file or directory in E:\WWWTest\newintdoc.php
on line 112
Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\TEMP\php66.tmp' to
'E:\WWWTest\files\library\B0111\B0111-20031008-508-08' in
E:\WWWTest\newintdoc.php on line 112
-------------------------------------------------
Ovviamente in $_FILES['docpath']['tmp_name'] è contenuto
'C:\WINDOWS\TEMP\php66.tmp' , però questo file nella directory fisicamente
non c'è!
Avete qualche suggerimento utile? Ho provato anche a scaricare degli script
da 
http://www.html.it
 ma non usano la variabile $_FILES ... essendone
consigliato l'uso, vorrei farlo.
Ultimo: la configurazione in PHP.INI:
-------------------------------------------------
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if
not
; specified).
;upload_tmp_dir =
; Maximum allowed size for uploaded files 10Mb.
upload_max_filesize = 10240000
-------------------------------------------------
Grazie dell'aiuto e ciao!
Francesco


Potrebbe essere un problema di safe_mode riguardo ai permessi di scrittura
controlla che sia su off, cmq documentati qui sotto:
http://php.planetmirror.com/manual/it/features.safe-mode.php
ciao,
ste


Ripensandoci però, non dovrebbe essere nemmeno questo il problema visto
l'errore che ti dà, bò non saprei sorry.
ste

 l'errore che ti dà, bò non saprei sorry.
In effetti ho verificato ed è su off.
Dimenticavo: Piattaforma WinXP ed ho provato anche a cambiare destinazione.
L'affare si fa serio... penso sia un problema di timing... nel senso che
vado a cercare il file quando non è ancora stato caricato nella posizione
oppure è già stato rimosso; mi sorge il sospetto perché sul manuale PHP ho
letto una frase abbastanza sibillina:
"Il file sarà eliminato dalla directory temporanea al termine della
richiesta se non è stato mosso e rinominato. "
Domanda: Quale richiesta??
Ciao!
Francesco

> L'affare si fa serio...
Tranquillo vedrai che presto arriverà qualche cavaliere mascarato in tuo
soccorso ;)
ste

 soccorso ;)
NO NO!
Proprio il "cavaliere mascarato" no!! Porta jella!
F.

      <input type="hidden" name="MAX_FILE_SIZE" value="10240000">
10Mb? Enorme! Personalmente non sono mai riuscito di farlo andare oltre i 4MB
nonostante di aver configurato tutto a valori enormi (anche la memoria
di php stesso), ma non ho indagato a lungo.

 di php stesso), ma non ho indagato a lungo.
Questo però potrebbe rappresentare un problema! Sto facendo un sistema di
documentazione automatica e superare i 4Mb non è una cosa impossibile.
Se hai suggerimenti per bypassare questo limite...
Grazie e ciao!
Francesco