Newsgroup: it.comp.www.php
Titolo: Re: uppare files

 testf2.php
già rileggendo la riga 1 mi sono accorto di un errore pacchiano (nel nome
del file usavo $file_name e non $_POST['file_name']
ho cambiato ed è cambiato l'errore
codice riga 1 (semplice semplice non faccio controlli ora):
<? copy($_POST['file'],"files/$_POST['file_name']"); ?>
errore:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
T_STRING or T_VARIABLE or T_NUM_STRING in c:\programmi\apache
group\apache\test\testf2.php on line 1
ah, non ho capito bene un concetto: praticamente quando uppo un file usando
il form type="file" nella pagina php ho a disposizione (diciamo così)
$_POST['file'] che punta al file, $_POST['file_name'] col nome,
$_POST['file_size'] con la dimensione e $_POST['file_mime'] con il tipo
mime. 
ho fatto un po' di confusione perchè gli script che ho trovato su 
html.it
non usano $_POST['variabile'] ma direttaemnte $variabile, e su una guida ho
letto che è auspicabile a prima opzione (anche perchè la possibilità di
usare la seconda negli ultimi php è disabilitata)
grazie dell'aiuto
ciao

 Luca
Il problema è che la documentazione PHP è sbagliata (arghhh!).
Se hai:
<input type="file" name="file">
in PHP avrai:
$_POST['file']['tmp_name']; // file temporaneo, devi usare questo per
copiarlo
$_POST['file']['name'];     // nome originale
$_POST['file']['size'];     // dimensione del file
$_POST['file']['type'];     // il mime type
quindi il tuo codice diventa:
<?
$nfile=$_POST['file']['name'];
$ofile=$_POST['file']['tmp_name'];
copy($ofile,"files/$nfile");
 ?>
Cmq attento a fare così, magari il nome del file originale esiste già nella
dir /files/
Ciao!
-- 
Keeper

dire in qualche modo ad apache di permettere l'uppaggio dei files.
Sembra che il nome del file sia vuoto...è un problema di
register_globals? Oppure di permessi? posta il codice della riga 1 di
testf2.php
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Project Admin di "PHP Reservation - Online booking system" - 
http://phpreservation.sourceforge.net
Dev.Staff di E-Xoopport - 
http://dev.e-xoopport.it

 Ciao!
sì il tag è corretto
quindi ho perso un'ora a cercare nella config di apache per niente? meglio,
l'idea di rimetterci mano mi nauseava un po' :)



-- 
Keeper

 Luca
perfetto ora riesco
grazie mille
ciao
Luca

In data Fri, 03 Dec 2004 10:34:00 GMT, Luca ha scritto:

ho provato anche così:
<? 
$nfile=$_POST['file_name'];
$ofile=$_POST['file'];
copy($ofile,"files/$nfile"); 
?>
ma mi è tornato l'errore:
Warning: Unable to open '' for reading: Permission denied in
c:\programmi\apache group\apache\test\testf2.php on line 5
ciao
Luca

ciao sto smanettando da poco con il php, però conosco abbastanza bene il c
uso apache in locale
volgio riuscire a far uppare ad un utente un file sul server (per ora tutto
in locale)
mi sono fatto il mio bel form in html, poi ho scritto il codice php dando
prima un occhio ai vari scrpt che ho trovato in rete. dovrebbe essere tutto
corretto.
quando eseguo il tutto pigio submit e mi appare questo bel errore:
Warning: Unable to open '' for reading: Permission denied in
c:\programmi\apache group\apache\test\testf2.php on line 1
ora penso sia un problema di autorizzazioni, nel senso che penso di dover
dire in qualche modo ad apache di permettere l'uppaggio dei files.
come faccio?


usare la seconda negli ultimi php è disabilitata)
Come ho già detto ad un altro ieri o ieri l'altro, questi script sono
vecchi e non vanno più bene; inoltre c'è l'apposita funzione
move_uploaded_file() per spostare i file uploadati, suggerisco di
seguire l'esempio sul manuale che va sicuramente bene:
http://it.php.net/manual/it/features.file-upload.php
Ciao
