Upload image

Nadda
Invité n'ayant pas de compte PHPfrance

13 mai 2015, 16:59

Bonjour je suis étudiante en 1ere année dans une école d'ingénieurs et j'ai un projet dans la programmation web qui consiste à créer un site de brocante comme "le bon coin" et là je bloque dans l'étape où un utilisateur va déposer sa brocante qui contient des images aussi . Voici mon code j'attends votre réponnse
index.php
<!DOCTYPE html>
<html>
<body>


<form method="post" enctype="multipart/form-data" action="upload1.php">
	<p>
		<input type="file" name="fichier" size="30">
		<input type="submit" name="upload" value="Uploader">
	</p>
</form>



</body>
</html>
upload1.php
<?php

if( isset($_POST['upload']) ) // si formulaire soumis
{       //mkdir('upload/', 0777, true); // pour créer le dossier 
	$content_dir = 'upload/'; // dossier où sera déplacé le fichier
        $name_file = $_FILES['fichier']['name'];
	$tmp_file = $_FILES['fichier']['tmp_name'];
        $type_file = $_FILES['fichier']['type'];
	if( !is_uploaded_file($tmp_file) )
	{
		exit("Le fichier est introuvable");
	}
//vérifier que le nom du fichier uploadé ne comporte pas le caractère null ni aucun autre caractère de contrôle ou slashe et backslashe
    if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) )
    {
    exit("Nom de fichier non valide");
    }
// on vérifie maintenant l'extension
	

	if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') && !strstr($type_file, 'mp3') )
	{
		exit("Le fichier n'est pas une image");
	}

// on copie le fichier dans le dossier de destination
	

	if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
	{
		exit("Impossible de copier le fichier dans $content_dir");
	}

echo "Le fichier a bien été uploadé";
}
//echo '<img src="./images_up/'.$name_file.'" border="0" />';
//echo '<br/>';
//echo '<a href="javascript:history.back();">Retour</a>';
?>
Apres j'ai mes images stockées dans le dossier upload, à ce stade je sais pas vraiment quoi faire si je dois les rentrer dans une base de données ou quoi car en gros
Modifié en dernier par Ryle le 13 mai 2015, 20:47, modifié 1 fois.
Raison : Suppression du tag [urgent], les réponses sont apportées en fonction des disponibilités des bénévoles pas de tes délais

Mammouth du PHP | 688 Messages

13 mai 2015, 17:23

il faut sauver en base de donnée de quoi indiquer à quoi se raporte l'image et comment y accéder sur le serveur (nom unique).
attention aussi à la sécurité, un .gif peut contenir du code php, qui s'exécute sur le serveur.

Nadda
Invité n'ayant pas de compte PHPfrance

13 mai 2015, 17:33

Donc la j'ai créé une base de donnée 'g29' et une table Images la voici :
CREATE TABLE IF NOT EXISTS `Images` (
`img_id` int(11) NOT NULL,
`img_nom` varchar(50) NOT NULL,
`img_taille` varchar(25) NOT NULL,
`img_type` varchar(25) NOT NULL,
`img_desc` varchar(100) NOT NULL,
`img_blob` blob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
elle est bien? :roll: