-
upload dei files con php
la pagina in cui si sceglie il file da caricare è la seguente:
Codice HTML:
<html>
<head>
</head>
<body>
<form action='upload.php' method='post' enctype='multipart/mixed' >
<input type='file' name='carica'>
<input type='submit' value='Carica'>
</body>
</html>
il file upload.php è questo:
Codice PHP:
<?php
$file=$_FILES['carica']['name'];
echo $file;
?>
perchè upload.php non visualizza niente?
P.S. non visualizza nulla neanche così:
Codice PHP:
<?php
if (isset($_FILES['carica']['name'])){
echo "si";
}
?>
-
Non mi convince il Mime-Type che imposti dal form.
Prova ad impostarlo a multipart/form-data
Codice HTML:
<form action='upload.php' method='post' enctype='multipart/form-data'>
-
in fase di upload puoi definire queste variabili:
Codice PHP:
$imagefile_name=$_FILES['carica']['name'];
$imagefile_type=$_FILES['carica']['type'];
$imagefile_size=$_FILES['carica']['size'];
$imagefile_tmp=$_FILES['carica']['tmp_name'];
Codice HTML:
<FORM METHOD=POST ACTION='upload.php' ENCTYPE='multipart/form-data' NAME='frm'>
-
grazie ora funziona.... però ho un altro problema: non riesco a muovere i files caricati.
alla funzione move_uploaded_file come devo passare il secondo parametro, ovvero il nuovo percorso? in modo assoluto o relativo?
-
Codice PHP:
//definisci un percorso per il file:(es. la cartella images)
$filepath="./images";
if ($imagefile_name) {
$new_file = $filepath.$imagefile_name;
if (is_uploaded_file($imagefile_tmp)){
$command = move_uploaded_file($imagefile_tmp, $new_file);
//$command = copy($imagefile_tmp, $new_file);
if ($command) $message .= '<p>Command executed : ' . $imagefile_tmp." ==> " .$new_file;
else $message .= '<p>Command no executed with Error Number = '. print_r($_FILES);
}
else $message .= '<p>'.$imagefile_tmp.' is not uploaded';
}
else{
$message .= '<p>Image file not uploaded.';
}
echo $message;
-
grazie mille ora funziona tutto alla perfezione!