Ecrire le chemin d'un fichier dans la base de donnée ? [Résolu]

turkish78 7 Messages postés jeudi 24 septembre 2015Date d'inscription 16 octobre 2015 Dernière intervention - 29 sept. 2015 à 16:12 - Dernière réponse :  turrkish78
- 16 oct. 2015 à 14:56
Bonjour,

J'ai créer un formulaire pour uploader une photo/image/logo et je cherche à insérer le chemin du fichier de destination dans ma base de données et je suis bloqué...

Merci d'avance de votre aide

<?php
require_once("inc/init.inc.php");

$_SESSION['id'] = 24;

if(isset($_POST['submit']))
{
	$my_visuel_accueil=$_FILES['my_visuel_accueil']['name'];
	$my_visuel_accueil_tmp=$_FILES['my_visuel_accueil']['tmp_name'];
	
	if(!empty($my_visuel_accueil_tmp))
	{
		$image=explode('.',$my_visuel_accueil);
		$image_ext= end($image);
		
			if(in_array(strtolower($image_ext),array('png','gif','jpeg','jpg')) === false)
			{
				$errors[]="Extension non valide";
			}
	}
	
	if(empty($errors))
	{
		upload_my_visuel_accueil($my_visuel_accueil_tmp);
	}else{
		foreach($errors as $error)
		{
			echo $error;
		}
	}
}


?>

<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title>Visuel accueil  </title>
	<link rel="stylesheet" href="style.css">
	<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet">
	<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
	<script>
	//-----------------------------------------script logo---------------------------------------//
	$(function () {
                $('visuel_accueil').on('submit', function (e) {
                    // On empêche le navigateur de soumettre le formulaire
                    e.preventDefault();
					alert('toto');
                    var $form = $(this);
                    var formdata = (window.FormData) ? new FormData($form[0]) : null;
                    var data = (formdata !== null) ? formdata : $form.serialize();

                    $.ajax({
                        url: $form.attr('action'),
                        type: $form.attr('method'),
                        contentType: false, // obligatoire pour de l'upload
                        processData: false, // obligatoire pour de l'upload
                        dataType: 'json', // selon le retour attendu
                        data: data,
                        success: function (response) {
                            $('#result > pre').html(JSON.stringify(response, undefined, 4));
                        }
                    });
                });

                // A change sélection de fichier
                $('#visuel_accueil').find('input[name="my_visuel_accueil"]').on('change', function (e) {
                    var files = $(this)[0].files;

                    if (files.length > 0) {
                        // On part du principe qu'il n'y qu'un seul fichier
                        // étant donné que l'on a pas renseigné l'attribut "multiple"
                        var file = files[0],
                            $image_preview = $('#image_preview');

                        // Ici on injecte les informations recoltées sur le fichier pour l'utilisateur
                        $image_preview.find('.thumbnail').removeClass('hidden');
                        $image_preview.find('img').attr('src', window.URL.createObjectURL(file));
                       
                        $image_preview.find('.caption p:first');
                    }
                });

                // Bouton "Annuler"
                $('#image_preview').find('button[type="button"]').on('click', function (e) {
                    e.preventDefault();

                    $('visuel_accueil').find('input[name="my_visuel_accueil"]').val('');
                    $('#image_preview').find('.thumbnail').addClass('hidden');
                });
            });
			
	</script>
</head>
<body>

<form id="visuel_accueil" class="form-horizontal well" method="post" action="" enctype="multipart/form-data">
		<div class="row">
			<div class="col-lg-6">
                <fieldset>
                    <legend>Votre visuel d'accueil</legend>
						<p>Poster votre image (png-jpg 580/240px)</p>
                            

                            <div class="form-group">
                                <label for="contenu" class="col-lg-2 control-label">Parcourir</label>
                                <div class="col-lg-10">
                                    <input type="file" class="form-control" id="my_visuel_accueil" name="my_visuel_accueil" accept="image/*" value="">
                                </div>
                            </div>

                            <div class="form-group" style="margin-bottom: 0;">
                                <div id="image_preview" class="col-lg-10 col-lg-offset-2">
                                    <div class="thumbnail hidden">
                                        <img src="http://placehold.it/5" alt="">
                                        <div class="caption">
                                            <h4></h4>
                                            <p></p>
                                            <p><button type="button" class="btn btn-default btn-danger">Annuler</button></p>
                                        </div>
                                    </div>
                                </div>
                            </div>  
				</fieldset>
				
			</div>
		</div>
		
		<div class="form-group">
        <div class="col-lg-10 col-lg-offset-2">
            <button type="submit" value="submit" name="submit" class="btn btn-primary">Sauvegarder</button>
        </div>
		</div>
</form>
</body>
</html>


function upload_my_visuel_accueil($my_visuel_accueil_tmp)
{
	if(file_exists($my_visuel_accueil_tmp))
	{
		$image_size=getimagesize($my_visuel_accueil_tmp);
		//print_r($image_size);
		if($image_size['mime'] == 'image/jpeg')
		{
			$image_src = imagecreatefromjpeg($my_visuel_accueil_tmp);
			
		}else if($image_size['mime'] == 'image/png')
		{
			$image_src = imagecreatefrompng($my_visuel_accueil_tmp);
			
		}else if($image_size['mime'] == 'image/gif')
		{
			$image_src = imagecreatefromgif($my_visuel_accueil_tmp);
		}else{
			echo 'Votre logo n/est pas valide';
			$image_src = false;
		}
		
			if($image_src !== false)
			{
				$image_width=580;
				
				if($image_size[0] <= $image_width)
				{
					$image_finale = $image_src;
				}else{
					$new_width[0] = $image_width;
					$new_height[1] = ($image_size[1]/$image_size[0])*$image_width;
					$image_finale = imagecreatetruecolor($new_width[0],$new_height[1]);
					imagecopyresampled($image_finale,$image_src,0,0,0,0,$new_width[0],$new_height[1],$image_size[0],$image_size[1]);
				}
				imagejpeg($image_finale,'visuel_accueil/'.$_SESSION['id'].'.jpg');
				
			}
	}
	
}
Afficher la suite 

2 réponses

Répondre au sujet
m4cker 66 Messages postés lundi 22 avril 2013Date d'inscription 17 août 2016 Dernière intervention - 16 oct. 2015 à 14:04
0
Utile
1
Commences par te renseigner comment gérer une base de donnée et comment interagir avec.

Ce site me semble pas mal pour les débutants :
http://www.phpdebutant.org/article66.php

Tu peux suivre les différents exercices ce sont les bases.
merci! en fait le problème est résolu, j'ai oublié de changer le statut de la page
Commenter la réponse de m4cker

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.