Upload avec choix de destination

Invité
Invité n'ayant pas de compte PHPfrance

15 nov. 2005, 14:34

salut;

je veux faire le upload de mes images avec choix du repertoire, l'image sefait uploader mais dans la destination imgs et pas au repertoire selectionne
la form:
<?php
include ('config.php');


if(isset($_POST['date'])) $date = $_POST['date'];
else $date = '';
if(isset($_POST['hour'])) $hour = $_POST['hour'];
else $hour = '';
if(isset($_POST['album_cat'])) $album_cat = $_POST['album_cat'];
else $album_cat = '';
if(isset($_POST['id'])) $id = $_POST['id'];
else $id = '';

$date=date("d/m/Y");
$hour=date("H:i");

//connection
$connection = mysql_connect("$host", "$user", "$pass") or die('Unable to connect to server');
$db = mysql_select_db($base, $connection) or die('Unable to connect to database');
$select = "select * from $tablephoto ORDER BY ID DESC";
$result = mysql_query($select,$connection) or die ('Erreur Select : Unable to select items');
$res = mysql_num_rows($result);
if ($res==0)
{
echo '<center>0 categorie<br/>';
echo '<a href="index.php?rub=add_cat_album">Ajouter</a></center><br/>';
}
else
{
echo "<center>$res categories<br/>";
?>
<br>
<center><a href="index.php?rub=add_cat_album">Ajouter</a></center><br/></center>
<center>
<h3>Upload Files</h3>
<br>
<form name="upload" enctype="multipart/form-data" method="post" action="index.php?rub=Upload_Confirm">
  <input type="file" name="FileName" class="class01">
   <br><br>
 <textarea name="description" rows="5" cols="30" class="textarea01"></textarea>
 <br><br>
   Choisir le dossier de destination :<br>
<select name="cat">

<?php
 while($data = mysql_fetch_array($result)) {


$date = $data['date'];
$hour = $data['hour'];
$album_cat = $data['album_cat'];
echo "<option value="<?php echo "$album_cat"; ?>">$album_cat</option><br/>"; // je dois mettre le value=id pr savoir sur kel repertoire
    }
?>
<br>
<input type="submit" value="Send" class="input02">&nbsp;&nbsp;&nbsp;<input type="reset" value="Reset" class="input02">
  <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="102400">
</form>
<?php
} //fin de else
?>
</center>
la confirmation
<?
include ('config.php');

if(isset($_POST["date"])) $mode = $_POST["date"];
else $date = "";
if(isset($_POST["description"])) $mode = $_POST["description"];
else $description = "";
if(isset($_POST['album_cat'])) $album_cat = $_POST['album_cat'];
else $album_cat = '';

$date=date("d/m/Y");
$hour=date("H:i");


$FileName = $_FILES['FileName']['name'];  // original name of the file on the client machine
$FileSize = $_FILES['FileName']['size'];  // size, in bytes, of the uploaded file.
$TempName = $_FILES['FileName']['tmp_name']; //The temporary filename of the file in which the uploaded file was stored on the server.

//$Error = $_FILES['FileName']['error']; //the error encoding http://www.php.net/manual/en/features.file-upload.errors.php
$MaxFileSize = 100000;
$Destination = "Admin/AdminAlbum/upload/imgs/".$album_cat;
$Max_Width = 500; //largeur
$Max_Height = 500; //longueur

//on liste la largeur + hauteur de l image
list($width,$height)=getimagesize($TempName);

//verifier les extensions de l image partie1
$temp=explode('.',$FileName);												#
$extension=strtolower($temp[count($temp)-1]);

$Allow_Ext="(gif|jpg|jpeg)";//array for allowd extensions ....	#
//verifier les extension end

//separation du nom du fichier et son extension
$File_Ext = strstr($FileName, '.');

if($description ==''){
echo "description empty<br/>";
}

//verifie si ya un fichier a upload
elseif(empty($FileName)){
echo "Pas de fichier a uploader<br/>";
}

//verifie la taille
elseif ($FileSize > $MaxFileSize){
echo "taille tres gde";
}

//verifie la largeur
elseif ($width > $Max_Width){
echo "largeur tres gde";
}

//verifie la longueur
elseif ($height > $Max_Height){
echo "longueur tres gde";
}

// part2 de verification des extension
elseif (!ereg($Allow_Ext,$extension)){
				echo "Extension non autorisé.<br/>";
				}
// http://www.nexen.net/docs/php/annotee/function.file-exists.php?lien=exist
//verifie si le fichier existe deja

elseif (file_exists($Destination.$FileName)) {
    print "Le fichier $NewFile existe<br/>";
}
else {
//tt va bien on le move + le renommer NewFile
//http://www.nexen.net/docs/php/annotee/function.move-uploaded-file.php
    $move = move_uploaded_file($TempName, $Destination.$FileName);

if ($move)
{
				echo "Fichier <tt><b>$FileName</b></tt> envoyé a $album_cat.<br/>";

//insertion des donnees a la base

$connection = mysql_connect("$host", "$user", "$pass") or die(mysql_error());
$db = mysql_select_db($db_name, $connection) or die(mysql_error());
$sql = "INSERT INTO $tablephoto VALUES('','$album_cat','$date','$FileName')";
$result = mysql_query($sql,$connection) or die(mysql_error());

mysql_close ();
echo ('helllllooooooooooooooooooooooo');

				}
			else
			{
				print "Fichier <tt><b>".$FileName."</b></tt> non envoyé.";
				}
				}
?>


jason
Invité n'ayant pas de compte PHPfrance

15 nov. 2005, 14:52

il y a un probleme dans ton code ( 1er ) :
<?php 
while($data = mysql_fetch_array($result)) { 


$date = $data['date']; 
$hour = $data['hour']; 
$album_cat = $data['album_cat']; 
echo " ?><option value="<? echo "$album_cat"; ?><?"$album_cat</option><br/>"; // je dois mettre le value=id pr savoir sur kel repertoire 
    } 
Il y aun probleme avec option value ( enfin je crois ! ) !!!

VaN
Mammouth du PHP | 1107 Messages

15 nov. 2005, 14:54

Je ne suis pas sûr d'avoir bien compris.

mais faire que la variable $destination soit dynamique résoudrait le problème nan ?

mais bon c'est assez risqué comme processus.

Invité
Invité n'ayant pas de compte PHPfrance

15 nov. 2005, 15:21

<select name="cat">
...
echo "<option value=$cat>$album_cat</option><br/>"; // je dois mettre le value=id pr savoir sur kel repertoire
ca marche pas