Bonjour mon formulaire d'upload de fichier ne fonctionne pas avec des fichiers dépassant 1Mo :/ et je ne sais vraiment pas pourquoi :/ Si quelqu'un trouve une erreur et veut bien m'aider Je suis dessus depuis hier midi --'.
Je suis désolé mais je pense que c'est un problème de php et non d'AJAX vu que j'avais déjà un problème pour upload sans ma progressBar :/
Le formulaire est une partie de l'AJAX
<script> // mon script de progress bar
function _(elmt)
{
return document.getElementById(elmt);
}
function uploadFile()
{
var file = _("fileimage").files[0];
alert(file.name+" | "+file.size+" | "+file.type);
var formdata = new FormData();
formdata.append("fileimage",file);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler,false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "file_upload_parser.php");
ajax.send(formdata);
}
function progressHandler(event)
{
_("loaded_n_total").innerHTML = "Uploaded "+event.loaded+" bytes of "+event.total + "bytes";
var percent = (event.loaded / event.total) * 100;
_("progressBar").value = Math.round(percent);
_("status").innerHTML = Math.round(percent)+"% uploaded ... Please wait";
}
function completeHandler(event)
{
_("status").innerHTML = event.target.responseText;
_("progressBar").value = 0;
}
function errorHandler(event)
{
_("status").innerHTML = "Upload Failed";
}
function abortHandler(event)
{
_("status").innerHTML = "Upload Aborted"
}
</script>
</head>
<body class="bodyadmin">
<div class="blocpageadmin">
<section class="sectionadmin">
<article id="newactuality">
<p class="contBDD">Formulaire pour publier un nouvel article dans la page ACCUEIL </p>
<form method="post" action="areaadmin.php" enctype="multipart/form-data" id="upload_form">
<label for="title" class="articletitlelabel">Titre * </label><input type="text" name="title" class="articletitle" size="30" maxlength="50" required placeholder="Votre titre"><br/><br/>
<textarea name="message" id="message" rows="8" cols="60" placeholder="Votre article (actualités)" class="articlebbd" required="Veuillez compléter ce champ." maxlength="1500"></textarea><br/>
<!--<label for="fileimage" class="label-file">Choisir une image</label>-->
<input type="file" name="fileimage" id="fileimage" class="filebdd"><br/>
<input type="button" value="Upload File" onclick="uploadFile()">
<progress id="progressBar" value="0" max="100" style="width: 300px; color:green;"></progress>
<h3 id="status"></h3>
<p id="loaded_n_total"></p>
<input type="submit" name="Envoyer" value="Publier" class="sendnews" title="Cliquez-ici pour publier !" onclick/>
</form>
</article>
</section>
</div>
</body>
</html>
La deuxième partie de l'AJAX
<?php
$fileName = $_FILES["fileimage"]["name"]; // The file name
$fileTmpLoc = $_FILES["fileimage"]["tmp_name"]; // File in the PHP tmp folder
$fileType = $_FILES["fileimage"]["type"]; // The type of file it is
$fileSize = $_FILES["fileimage"]["size"]; // Filse size in bytes
$fileErrorMsg = $_FILES["fileimage"]["error"]; // 0 for false ... and 1 for true
if (!$fileTmpLoc) // if file not chosen
{
echo "ERROR: Please browse for a file before clicking the upload button.";
exit();
}
if (move_uploaded_file($fileTmpLoc, "upload/$fileName"))
{
echo "$fileName upload is complete";
}
else
{
echo "move_uploaded_file function failed";
}
?>
D'accord je vais regarder au niveau php.ini, j'ai l'erreur : ERROR : please browse for a file [...]
Et cette erreur s'afffiche avant l'envoie . Ma taille max est de 15Mo et j'ai une erreur qui apparaît si ça dépasse ( vérifiée et testée).
La taille maximale était de 2M et j'essayais avec des fichiers >3Mo tu as donc trouvé je pense En revanche ça ne veut toujours pas x) Je vais tenter de redémarrer le serveur
Ca fonctionne bien avec des fichiers un peu plus lourds (après avoir redémarrer WAMP) mais pas tous ( fichier de 13Mo qui m'affiche l'erreur qu'un fileimage au niveau des lignes 69 à 73 n'existe pas ??? Je ne comprends pas pourquoi ça m'affiche cette erreur alors qu'avec d'autres le code est exécuter sans difficultés ..
J'ai testé avec un isset et un empty sur ma superglobale $_FILES mais rien n'y fait l'erreur persiste :/
Bon je viens de faire quelques tests en plaçant un if !empty avant ces 5lignes là mais rien n'y fait pour les fichiers trop gros il semblerait que $_FILES est perdu puisque mon message " rentre dans le if" s'affiche mais le name="fileimage" n'est pas retrouvé x) :/
<?php
if (!empty(($_FILES)))
{
$fileName = $_FILES["fileimage"]["name"]; // The file name
$fileTmpLoc = $_FILES["fileimage"]["tmp_name"]; // File in the PHP tmp folder
$fileType = $_FILES["fileimage"]["type"]; // The type of file it is
$fileSize = $_FILES["fileimage"]["size"]; // Filse size in bytes
$fileErrorMsg = $_FILES["fileimage"]["error"]; // 0 for false ... and 1 for true
echo "Rentre dans le if";
}
if (!$fileTmpLoc) // if file not chosen
{
echo "ERROR: Please browse for a file before clicking the upload button.";
exit();
}
if (move_uploaded_file($fileTmpLoc, "upload/$fileName"))
{
echo "$fileName upload is complete";
}
else
{
echo "move_uploaded_file function failed";
}
?>
et voilà les codes erreurs affichés aussi avec un isset à la place de !empty ( mêmes résultats )
Euh oui mais là en fait l'erreur que j'avais balancer c'était avec un isset si je test avec !empty je ne rentrer pas dans le if puisque la variable est vide.
D'accord donc si mon upload_max est à 100M vaut que je mette une valeur >=100M ?
ça a bien fonctionné merci beaucoup à vous deux
Le dev web est outil de création illimité.
problème d'upload de fichier trop lourd :/
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le dev web est outil de création illimité.
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Le dev web est outil de création illimité.
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Le dev web est outil de création illimité.
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Le dev web est outil de création illimité.
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Le dev web est outil de création illimité.
Le dev web est outil de création illimité.
Le dev web est outil de création illimité.