Newsgroup: it.comp.www.php
Titolo: il dilemma... uno script per 5 giorni....

Eh si sono 5 giorni se non di piů che ci sto sbattendo la testa le ho 
provate tutte ma niente... chi mi puo aiutare? Grazie!!
<?php
move_uploaded_file($_FILES['userfile']['tmp_name'],
"/foto/".$_FILES['userfile']['name'])
  or die ("Impossibile caricare il file sul server");
$indirizzo = "/foto/".$_FILES["userfile"]['name'];
echo "<br>".$indirizzo;
?>
- Mi restituisce questo: Impossibile caricare il file sul server
Lo script completo che invece uso č questo:
<?php
$dir = '/foto/';
print "<pre>";
$estensione=$_FILES['userfile']['type'];
$e1="image/jpg";
$e2="image/gif";
$e3="image/JPG";
$e4="image/GIF";
if (($_FILES['userfile']['type'] == "$e1")||($_FILES['userfile']['type'] ==
"$e2")||($_FILES['userfile']['type'] == "$e3")||($_FILES['userfile']['type']
== "$e4")){
  move_uploaded_file($_FILES['userfile']['tmp_name'],
"$dir".$_FILES['userfile']['name'])
  or die ("Impossibile caricare il file sul server");
  } else {
  echo "<b>Upload non effettuato!</b>, il file non č valido";
  }
$indirizzo = "/foto/".$_FILES["userfile"]['name'];
echo "<br>".$indirizzo;
?> 

 provate tutte ma niente... chi mi puo aiutare? Grazie!!
Parti dall'esempi ufficiale, fallo funzionare e poi modificalo secondo
le tue necessita'.
http://www.php.net/manual/en/features.file-upload.php
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 fatto non succede nulla

 
http://www.php.net/manual/en/features.file-upload.php
Già provato anche quello ma non mi funziona lo stesso..
Ho provato a scaricare anche alcuni script di altri utenti per cercare di 
capire dove sbagliavo, ma neanche quelli mi funzionavano tranne uno, che 
però ha un codice davvero molto complicato e che quindi non mi è stato di 
aiuto 

piuttosto metti ./foto o foto
Così: ora l'ho semplificato al massimo ma ancora non và...
<?php
move_uploaded_file($_FILES['userfile']['tmp_name'], 
"foto".$_FILES['userfile']['name'])
  or die ("Impossibile caricare il file sul 
server".$_FILES['userfile']['error']);
$indirizzo = "foto".$_FILES["userfile"]['name'];
echo "<br>".$indirizzo;
?>
ma non và lo stesso! non capisco da cosa può dipendere... 

 ?>
a foto andave eliminato solo il primo slash
$indirizzo = "foto/".$_FILES["userfile"]['name'];
mi viene un dubbio ma la dir "foto" esiste ?
Prova a togliere il messaggio d' errore
or die ("Impossibile caricare il file sul
 server".$_FILES['userfile']['error']);
e vedi che errore ti da il parser, secondo me si tratta solo di
di $PATH oppure di privilegi di scrittura sulla cartella (UNIX)

 aiuto
Non è possibile.
Presta attenzione a questi punti:
1) hai i permessi per scrivere nella cartella di destinazione?
2) il campo file del form ha la proprietà name impostata a userfile ?
Cioè:
<input type="file" name="userfile"> 
Altrimenti, se non imposti la proprietà name a 'userfile', il vettore
$_FILES non riconosce la key 'userfile'.
Ti riposto l'esempio di 
php.net
, che se segui i due punti sopra deve
funzionare:
<?php
$uploaddir = '/var/www/uploads/';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir .
$_FILES['userfile']['name'])) {
   print "Il file e' valido, e inviato con successo.  Ecco alcune
informazioni:\n";
   print_r($_FILES);
} else {
   print "Possibile attacco tramite file upload! Alcune informazioni:\n";
   print_r($_FILES);
}
 
?>
-- 
Ciao,
 Fabrizio
=== 
http://www.negusweb.it
 ===

 di $PATH oppure di privilegi di scrittura sulla cartella (UNIX)
leggi il msg di errore e postacelo
ciao
Alesi_27

 <input type="file" name="userfile">
1) i permessi sono impostati a CHMOD 755 e non 777 perchč il server č 
Windows e non Linux e da quanto ho letto non posso farlo, ed in effetti non 
me lo fa fare.
2) si ho scritto cosi: <input type="file" name="userfile"> 


per me il problema e' nel form di invio :
<form enctype="multipart/form-data" name="form1" method="post"
action="ricevi.php">
fai un
var_dump($_POST);
var_dump($_FILES);
e poi dicci, e' una cosa banale ma se non e' corretto non funziona

 
-- 
Davide

 e poi dicci, e' una cosa banale ma se non e' corretto non funziona
Ecco il risultato:
array(2) { ["MAX_FILE_SIZE"]=> string(5) "40000" ["Submit"]=> string(9) 
"Inserisci" } array(1) { ["userfile"]=> array(5) { ["name"]=> string(12) 
"av-76366.jpg" ["type"]=> string(11) "image/pjpeg" ["tmp_name"]=> string(29) 
"C:\PHP\uploadtemp\phpEF0A.tmp" ["error"]=> int(0) ["size"]=> int(16094) } } 

 action="ricevi.php">
Dimenticavo.... questa è la pagina del form che uso per l'invio:
<form name="form1" method="post" action="upload.php" 
enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="40000">
Invia questo file: <input type="file" name="userfile">
<input type="submit" name="Submit" value="Inserisci"> 

 funziona tutto...
Già fatto ma non cambia nulla.... 

 leggi il msg di errore e postacelo
Ho tolto il comando or die...
e cosa strana non mi appare nessun errore...
inoltre ho verificato il comando $_FILES['userfile']['error']
e il risultato è 0 .... cioè nessun errore... veramente non so piu come 
fare... 

XwB ha scritto:
Cmq mesà che dipende da Aruba altrimenti non si spiega su altervista lo 
stesso script mi funziona bene!!