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 :
<?php
session_start();
if($_SESSION["login"]!="djs-electrosound")
{die("Vous n'êtes pas autorisé à accéder à cette page");}
echo'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' ;
echo'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> ';
echo'<head> ';
echo'<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> ';
echo'<link rel="StyleSheet" type="text/css" href="style.css"/>';
echo'<title>admin</title> ';
echo'<script type="text/javascript" src="./js/prototype.js"></script>';
echo' <script type="text/javascript" src="./js/scriptaculous.js"></script>';
echo' <script type="text/javascript" src="./multiupload.js"></script>';
echo'</head> ';
echo'<body onload="init();">';
echo'<table>';
echo'<caption> Menu </caption>';
echo'<tr><td><a class="Rubrique" href="ajoutPhoto.php">Ajout Photo Soirée</a></td></tr>';
echo'<tr><td><a class="Rubrique" href="ProchaineSoirée.php">Prochaine soirée</a></td></tr>';
echo'<tr><td><a class="Rubrique" href="Deconnexion.php".php">Deconnexion</a></td></tr>';
echo'</table>';
echo'<form id="form" action="./upload.php" method="post" enctype="multipart/form-data">';
echo'<div id="upload">';
echo '<fieldset>';
echo '<legend>Ajout photo</legend>';
echo '<br/><br/>';
echo '<label for="Nom soirée">Nom soirée : </label>';
echo '<input type="text" id="nom" name="nom" size="50" maxlength="50"/>';
echo'<h1>Upload photos</h1>
<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"]!="")
{
{$url="/images/".$_POST["nom"]."/".$fichier["name"]."";
$sql2= "insert into photos (Soirée,url_photo) values ('".$_POST["nom"]."','".$url."')";
$result=mysql_query($sql2);
if ($result==TRUE)
{
echo" <p> lien des photos ajoutées avec succes</p>";
}
else
{
echo"<p> $sql".mysql_error()."</p>";
}
}
//$destination = "fichiers/".$fichier['name']['tmp_name'];
//if (is_uploaded_file($fichier['name']['tmp_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"));
}
Configuration: Windows XP
Firefox 3.0.10