j'ai reussi à trouver le script d'upload pour donner les informations que je voulais. Cependant, je n'arrive qu'à les afficher après un upload. J'aurai aimer les mettre dans une table, pour ensuite les classer selon les valeurs entrées dans la table.
Voici la table:
CREATE TABLE upload (
id int(11) DEFAULT '0' NOT NULL auto_increment,
nom varchar(50) NOT NULL,
poids varchar(15),
dateheure datetime,
PRIMARY KEY (id)
);
et voici la page:<?php
//----------------------------
// DEFINITION DES VARIABLES
//----------------------------
$target = 'upload/'; // Repertoire cible
$extension = 'jpg'; // Extension du fichier sans le .
$max_size = 900000; // Taille max en octets du fichier
$width_max = 1024; // Largeur max de l'image en pixels
$height_max = 768; // Hauteur max de l'image en pixels
//---------------------------------------------
// DEFINITION DES VARIABLES LIEES AU FICHIER
//---------------------------------------------
$nom_file = $_FILES['fichier']['name'];
$taille = $_FILES['fichier']['size'];
$tmp = $_FILES['fichier']['tmp_name'];
//----------------------
// SCRIPT D'UPLOAD
//----------------------
?>
<html>
<head>
<title>Upload d'une image sur le serveur !</title>
<link rel="stylesheet" href="CSS.css" type="text/css">
</head>
<body>
<?php
if(!empty($_POST['posted'])) {
// On vérifie si le champ est rempli
if(!empty($_FILES['fichier']['name'])) {
// On vérifie l'extension du fichier
if(substr($nom_file, -3) == $extension) {
// On récupère les dimensions du fichier
$infos_img = getimagesize($_FILES['fichier']['tmp_name']);
// On vérifie les dimensions et taille de l'image
if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)) {
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
// Si upload OK alors on affiche le message de réussite
echo '<b>Image uploadée avec succès !</b>';
echo '<hr />';
echo '<b>Fichier :</b> ', $_FILES['fichier']['name'], '<br />';
echo '<b>Taille :</b> ', $_FILES['fichier']['size'], ' Octets<br />';
echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />';
echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />';
echo '<hr />';
echo '<br /><br />';
} else {
// Sinon on affiche une erreur système
echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour les dimensions et taille de l'image
echo '<b>Problème dans les dimensions ou taille de l\'image !</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour l'extension
echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour le champ vide
echo '<b>Le champ du formulaire est vide !</b><br /><br />';
}
}
?>
//Début MySQL
<?php
switch($_POST['action'])
{
// INSERTION DANS LA BASE
case "inserer":
// déclaration de quelques variables
$host = "localhost";
$user = "********";
$pass = "********";
$bdd = "Mithrandir_db";
$table = "upload";
// connection avec MySQL
@mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données"); // Le @ indique à php de ne pas afficher de message d'erreur
@mysql_select_db($bdd) or die("Impossible de se connecter à la base de données");
// affichage sélection
echo '<p>IMAGE Poids ' . htmlentities($_POST['nom']) . ', Poids: ' . htmlentities($_POST['poids']) . '</p>';
// stockage dans la bdd
$nom = $_POST['nom'];
$poids = $_POST['poids'];
if(!get_magic_quotes_gpc())
{
// si php n'est pas configuré pour le faire automatiquement, on ajoute des \ devant les '
// deux raisons : autoriser d'ajouter des ', et sécuriser notre requete
// on y reviendra dans un prochain tutorial
$nom = addslashes($nom);
$poids = addslashes($poids);
}
$sql = "INSERT INTO " . $table . "(nom, poids, dateheure) VALUES('" . $nom . "','" . $poids . "', NOW())";
$res = mysql_query($sql);
// déconnection avec MySQL
mysql_close();
break;
// AFFICHAGE FORMULAIRE HTML
default:
?>
// Fin MySQL
<form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST">
<fieldset>
<legend><span style="font-size: 10pt;"><font color="#006600" face="Tahoma"><b>Envoyer le fichier :</b></font></span></legend><br />
<p><input style="border: 1px dashed rgb(210, 228, 168);" type="hidden" name="posted" value="1" />
<input name="fichier" style="border: 1px dashed rgb(210, 228, 168);" type="file" /></p>
<p><font face="Tahoma"><span style="font-size: 8pt;">Seules les images au format ".JPG" sont acceptées.</span></font>
<p><input style="border: 1px dashed rgb(210, 228, 168);" type="submit" value="Uploader" /></p>
</legend></fieldset>
</form>
</body>
</html> il manque
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> pour le formulaire.... Je ne sais pas comment le mettre dedans Je precise le script d'upload fonctionne impec et le script MySQL aussi normalement parce que c'est celui du tuto du site que j'ai légèrement modifier. Le problème, je crois, vient de l'assemblage des deux.....
Quand j'affiche ma page, j'obtient une erreur dans une ligne inexistante. (une ligne qui serait sous ma derniere balise: </html>)
Quelqu'un pourrait-il m'expliquer le/les problèmes avec ma page??? Pourquoi je n'arrive pas à la lire correctement et comment on peut assembler les deux?? Je suis complètement pommé!!! ](*,)