Problemen recuperation de tmp_name

Fermé
jb540 Messages postés 1 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 22 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 :



<?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"));
}