Ciao, ho un problema:
Su windows XP ho installato un server web Apache ora facendo degli esperimenti in locale non sono riuscito a far accettare uno script PHP che permetta l'upload di un file all'interno di una cartella del server.
la configurazione del file php.ini mi sembra corretta però quando quando clicco upload il server mi ritorna questo errore:
il mio script php è questo:
chi mi può aiutare a capire cosa mi manca? ho installato PHP 5.3 e Apache 2
Su windows XP ho installato un server web Apache ora facendo degli esperimenti in locale non sono riuscito a far accettare uno script PHP che permetta l'upload di un file all'interno di una cartella del server.
la configurazione del file php.ini mi sembra corretta però quando quando clicco upload il server mi ritorna questo errore:
1024 byte = 1 Kb $dimensione_massima_Kb=$dimensione_massima/1024; $cartella_upload="c:/root/"; //cartella in cui eseguire l'upload (controllare permessi scrittura) // percorso cartella relativo $cartella_upload="../"; $filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no $array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); //estensioni ammesse if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){ echo "Nessun file selezionato per l'upload"; }elseif($_FILES['file1']['size']>$dimensione_massima){ echo "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb"; }else{ $nome_file=$_FILES['file1']['name']; $errore=""; if($filtrare==1){ $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, "."))); if(!in_array($estensione,$array_estensioni_ammesse)){ $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."
"; } } if(!file_exists($cartella_upload)){ $errore.="La cartella di destinazione non esiste
"; } if($errore==""){ if(move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){ chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare echo "Operazione eseguita con successo. Upload riuscito."; }else{ echo "Impossibile effettuare l'upload del file"; } }else{ echo $errore; } } ?>
il mio script php è questo:
<?
$dimensione_massima=51200; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
$dimensione_massima_Kb=$dimensione_massima/1024;
$cartella_upload="c:/root/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
// percorso cartella relativo $cartella_upload="../";
$filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
$array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); //estensioni ammesse
if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
echo "Nessun file selezionato per l'upload";
}elseif($_FILES['file1']['size']>$dimensione_massima){
echo "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
}else{
$nome_file=$_FILES['file1']['name'];
$errore="";
if($filtrare==1){
$estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
if(!in_array($estensione,$array_estensioni_ammesse)){
$errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br/>";
}
}
if(!file_exists($cartella_upload)){
$errore.="La cartella di destinazione non esiste</br>";
}
if($errore==""){
if(move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
echo "Operazione eseguita con successo. Upload riuscito.";
}else{
echo "Impossibile effettuare l'upload del file";
}
}else{
echo $errore;
}
}
?>
chi mi può aiutare a capire cosa mi manca? ho installato PHP 5.3 e Apache 2