IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Envoi d'une image sur un serveur + update table


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Envoi d'une image sur un serveur + update table
    Bonjour,
    j'aimerais créer un formulaire qui comme sur les forum qui permet d'ajouter un avatar.

    J'aimerais savoir ce qu'il faut que je fasse dans le formulaire.

    Je pense aujourd'hui que je dois avoir un script qui me permet d'envoyer l'image dans un dossier (en faisant attention au caractères), et je dois aussi avoir un update qui permet d'enregistrer le nom de l'image dans la base de données.

    J'ai essayé de modifier certains scripts d'envoi d'image, mais je n'abouti jamais,

    existerait il un script qui fait cela, sinon comment dois-je m'y prendre pour ajouter un champs dans mon formulaire qui permettrait aux personnes qui veulent s'inscrire de sélectionner une image sur leur disque dur, que celle ci soit uploader sur mon serveur et que l'insertion dans le champs image de la table soit le nom de l'image.jpg

    Merci d'avance pour vos conseils, votre aide et vos soluces.

    ERIC


    PS: ça fait un mois que j'essaie de faire cela, et je me résigne à demander de l'aide car vraiment c'est trop difficile (je débute en php)

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    Pour l'envoie de fichier, le input type="file" est ce qu'il faut.

    Pour ensuite l'envoyer sur le serveur, il n'y a rien de mieux (enfin que je sache^^) move_uploaded_file qui envoie un fichier du disque dure au serveur. Ensuite tu fais la requête SQL désiré

    Je pense qu'il y a des scripts préfaits mais je ne m'en sers pas ^^

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    creé d'aport un dossier nommer upload puis au même niveau (pas dedans)
    donc fichier formulaire php avec pour l'upload

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    # options de pièce jointe
    # répertoire temporaire d'upload (option: vide ou $rep inconnu)
    # NB. le répertoire "upload" doit être créé sur le serveur (en FTP)
    $rep = "upload/"; // ne pas oublier le slash /
    # taille max de la pièce jointe (multiple de 1024)
    $taillemax = 1048576;
    ....
     
     
    # pièce jointe
    	$piecejointe = "";
    	if(!$erreur && strlen($_FILES['Fichier']['name'])) {
    		$fichier = $_FILES['Fichier'];
     
     
    		# upload du fichier sur le serveur
    		$temp = $fichier['tmp_name'];
    		$name = $fichier['name'];
    		$size = $fichier['size'];
    		$destination = $rep.$name;
    		$ext = $_FILES['Fichier']['type'];
        	if( !strstr($ext, 'jpg') && !strstr($ext, 'jpeg') && !strstr($ext, 'psd') && !strstr($ext, 'png') && !strstr($ext, 'bmp') && !strstr($ext, 'gif') )
    		$erreur = "Format du fichier image $name invalide uniquement : bmp, jpg, psd, png, gif";
    		if($size > $taillemax)
    			$erreur = "Taille du fichier $name > ".(int)($taillemax/1024)." Ko";
    		elseif(!@is_uploaded_file($temp))
    			$erreur = "Téléchargement du fichier $name impossible";
    		elseif(!@move_uploaded_file($temp, $destination))
    			$erreur = "Problème de transfert du fichier $name";
    		if($erreur) $focus = 7;
    		else {
    			# lecture du type de fichier
    			if(!function_exists('mime_content_type')) {
    				function mime_content_type($fichier) {
    					# ajouter autant de combinaisons que souhaitées
    					$mime = array(
    					'.gif' => 'image/gif',
    					'.jpg' => 'image/jpeg',
    					'.psd' => 'image/x-xwd',
    					'.png' => 'image/png',
    					'.bmp' => 'image/bmp',
    					);
    					# par défaut
    					if(!$type = $mime[strrchr($fichier,'.')]) $type = "application/octet-stream";
    					return $type;
    				}
    			}
     
    			$mimetype = mime_content_type($destination);
    			# lecture et conversion du fichier
    			if($openf = @fopen($destination, "rb")) {
    				$fichier = fread($openf, filesize($destination));
    				@fclose($openf);
    				# encodage norme RFC 2045
    				$piecejointe = chunk_split(base64_encode($fichier));
    			} else {
    				$erreur = "Problème de lecture du fichier $name";
    				$focus = 7;
    			}
    		}
     
    	}

    et ton formulaire avec dedans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?		if (file_exists($rep)) { ?>
    			     <label for="fichier">Image/photo du club</label><input type="hidden" name="MAX_FILE_SIZE" value="<? echo $taillemax?>" />
    				<input type="file" id="fichier" name="Fichier" size="35" />
    				<label>&nbsp;</label>NB : format : png, gif, psd, jpg - taille du fichier inférieure à <?= (int)($taillemax/1024)?> Ko	</p>
     
    	 <?		} ?>

Discussions similaires

  1. requête d'une image sur un serveur ftp
    Par mimi51340 dans le forum Entrée/Sortie
    Réponses: 16
    Dernier message: 03/03/2008, 21h12
  2. uploader une image sur le serveur
    Par kespy13 dans le forum Langage
    Réponses: 5
    Dernier message: 07/04/2006, 20h01
  3. [Image]Stockage d'une image sur un serveur
    Par zoby43 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 23/03/2006, 11h42
  4. Enregistrement d'une image sur le serveur
    Par MHI dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2005, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo