<?php
$name = $_FILES["file"]["name"];
//$size = $_FILES['file']['size']
//$type = $_FILES['file']['type']
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (isset ($name)) {
if (!empty($name)) {
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location.$name)){
echo 'Uploaded';
}
} else {
echo 'please choose a file';
}
}
?>
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" value="Submit">
</form>
j'obtiens un message d'erreur "Remarque: index non défini". Le enctype est inclus dans la balise de formulaire, donc je ne peux pas comprendre ce que c'est .. quelqu'un peut-il m'aider?
La première affectation lance un avertissement, si rien n'est téléchargé et que le test isset est un peu inutile.
Vous pouvez modifier votre code comme suit
<?php
if (isset($_FILES["file"]["name"])) {
$name = $_FILES["file"]["name"];
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (!empty($name)) {
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location.$name)){
echo 'Uploaded';
}
} else {
echo 'please choose a file';
}
}
?>
<form action="test.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" value="Submit">
</form>
Index non défini résolu en php lors du téléchargement du fichier
en raison de la taille maximale du fichier
changements dans php.ini
`max_execution_time` = 300
`max_input_time` = 240
`post_max_size` = 128M
`upload_max_filesize` = 128M
changer selon vos besoins
Si vous utilisez votre code entier comme un fichier (que je soupçonne que vous êtes), alors vous devez faire ce qui suit en utilisant une instruction conditionnelle, qui J'ai testé (et travaillé) avant de poster.
De plus, assurez-vous que votre dossier uploads
dispose des autorisations d'écriture appropriées et qu'il existe.
<?php
if(isset($_POST['submit'])){
$name = $_FILES["file"]["name"];
//$size = $_FILES['file']['size']
//$type = $_FILES['file']['type']
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (isset ($name)) {
if (!empty($name)) {
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location.$name)){
echo 'Uploaded';
}
} else {
echo 'please choose a file';
}
}
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" name="submit" value="Submit">
</form>
Notes de bas de page:
J'ai ajouté une déclaration conditionnelle:
if(isset($_POST['submit']))
et j'ai nommé le bouton soumettre: (pour travailler en conjonction avec la conditionnelle isset()
)
<input type="submit" name="submit" value="Submit">
NB: Si vous utilisez en fait votre code publié comme deux fichiers séparés, vous pouvez simplement copier le PHP dans cette réponse, en plus de nommer votre bouton d'envoi actuel défini dans un formulaire HTML séparé comme name="submit"
(en appelant votre formulaire upload_form.htm
par exemple) comme je l'ai montré ci-dessus, tout en conservant le action="upload.php"
et en nommant le PHP fichier de gestionnaire de téléchargement en conséquence.
// Count total files
$countfiles = count($_FILES['event_Img']['name']);
for($i=0;$i<$countfiles;$i++){
$filename = $_FILES['event_Img']['name'][$i];
// Get extension
$ext = end((explode(".", $filename)));
move_uploaded_file($_FILES['event_Img']['tmp_name'][$i], "uploads/".$filename);
$sqlBrand = 'INSERT INTO ot_event_images
SET
event_id=:event_id,
imagepath=:imagepath,
imagemimetype=:imagemimetype';
$query2 = $conn->prepare($sqlBrand);
$query2->bindParam(':event_id', $eventid);
$query2->bindParam(':imagepath', $filename);
$query2->bindParam(':imagemimetype', $ext);
$status2 = $query2->execute();
}
if($status2)
{
echo "File upload successfully";
}
else
{
echo "error";
}
1. You hadn't mention name value in your submit button.
2. Use isset function.
<html>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" value="Submit" name="submit">
</form>
</body>
</html>
<?php
if(isset($_POST['submit'])){
$name = $_FILES["file"]["name"];
echo $name;
//$size = $_FILES['file']['size']
//$type = $_FILES['file']['type']
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (isset ($name)) {
if (!empty($name)) {
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location.$name)){
echo 'Uploaded';
}
} else {
echo 'please choose a file';
}
}
}
?>