jb540
Messages postés1Date d'inscriptionvendredi 22 mai 2009StatutMembreDernière intervention22 mai 2009
-
22 mai 2009 à 00:46
Bonjour à tous,
Voila , cela fais plusieurs heure que je ne parvient pas à résoudre mon problème,
Aprés avoir récupérer un code permetant le multi upload (code pas complet ^^ ) je n'arrive pas à récupérer le tmp_name de $_FILES ( le input file est crée avec du javascript et le code n'est pas de moi donc je nage !) et je ne comprend pas ou sa bloque !
En espérant que vous trouviez une solution ! je vous remercie d'avance !! Bonne soirée !
voila tous le code de la page ajoutphoto ou se trouve le form :
<div id="fichiers">
Aucun fichier à uploader
</div>
<br/>
Uploader ce fichier :
<!-- CE SPAN RECOIT LES DIFFERENTS INPUTS CREES PUIS CACHES UNE FOIS UTILISES -->
<span id="input" name="input" ></span>
<br/>
<input class="btn" type="submit" value="Uploader"/>
</form>
</div>
<br>';
echo' </fieldset>';
echo' </body>';
echo'</html> ';
?>
voila tous le code de ma la page upload ( qui traite le form de ajoutphoto) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Upload de plusieurs fichiers</title>
</head>
<body>
<h3>Fichiers uploadés</h3>
<?php
$dossier ="images/".$_POST["nom"]."";
if (is_dir($dossier)==FALSE)
{mkdir($dossier, 0777);}
include_once("connexionBD.php");
$sql= "insert into soirée (Soiree) values ('".$_POST["nom"]."')";
$result=mysql_query($sql);
if ($result==TRUE)
{
echo" <p> Soirée ajouter avec succée</p>";
}
else
{
echo"<p> $sql".mysql_error()."</p>";
}
echo $_FILES['fichier']['tmp_name'];
foreach($_FILES as $fichier)
{
if ($fichier["name"]!="")
{
//$upload = move_uploaded_file($fichier['name']['tmp_name'], $destination) or die("impossible de déplacer le fichier"); }
}
}
?>
</body>
</html>
voila tous le code javascript :
var nbrFichiers = 0;
function init()
{
//Création d'un premier input
creerInput();
}
//Fonction renvoyant le nom d'un fichier à partir de son chemin complet
function getFileName(fileName)
{
if (fileName != "") {
if (fileName.match(/^(\\\\|.:)/)) {
var temp = new Array();
temp = fileName.split("\\");
var len = temp.length;
fileName = temp[len-1];
} else {
temp = fileName.split("/");
var len = temp.length;
if(len>0)
fileName = temp[len-1];
}
}
return fileName;
}
function creerInput()
{
//Création de l'élément input
var input = document.createElement("input");
input.type = "file";
input.name = "fichier";
input.id= "fichier";
//Lorsqu'un fichier est choisi, on ajoute son nom à la liste
input.onchange = function() {
ajouterFichier(this);
}
//Ajout de l'input au document
$("input").appendChild(input);
}
function ajouterFichier(input)
{
if(nbrFichiers == 0)
$("fichiers").removeChild($("fichiers").firstChild);
//Création de la ligne dans la liste des fichiers à uploader
var fichier = document.createElement("p");
//Image de suppression
var image = document.createElement("img");
image.src = "images/suppr.gif";
image.alt = "supprimer";
Element.setStyle(image, {border: "0px", verticalAlign: "top"});
//Lien pour supprimer
var lnk = document.createElement("a");
lnk.href= "#";
lnk.onclick = function () {
supprimerFichier(fichier, input);
}
//Ajout de l'image dans la balise de lien
lnk.appendChild(image);
//Ajout du lien à la ligne de la liste
fichier.appendChild(lnk);
//Ajout du nom du fichier
fichier.appendChild(document.createTextNode(" " + getFileName(input.value)));
Element.setStyle(fichier, {margin: "0", padding: "0"});
//Ajout de l'item à la liste
$("fichiers").appendChild(fichier);
nbrFichiers++;
//Affectation de l'attribut name de l'input
input.name = getFileName(input.value);
input.tmp_name = getFileName(input.tmp_name);
new Effect.Highlight(fichier, {startcolor: "#7fd9ff", endcolor: "#FFFFFF"});
//Création d'un nouvel input pour un nouveau fichier
Element.hide(input);
creerInput();
}
function supprimerFichier(item, input)
{
//Suppression de l'item dans la liste des fichiers à uploader
new Effect.Fade(item, {afterFinish: function () { finSuppr(item); } });
//Suppression de l'input pour que le fichier supprimé ne soit pas envoyé par le formulaire
$("input").removeChild(input);
}
function finSuppr(item)
{
$("fichiers").removeChild(item);
nbrFichiers--;
if(nbrFichiers == 0)
$("fichiers").appendChild(document.createTextNode("Aucun fichier à uploader"));
}