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

Signaler
Messages postés
7
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
16 octobre 2015
-
 turrkish78 -
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');
				
			}
	}
	
}

1 réponse

Messages postés
66
Date d'inscription
lundi 22 avril 2013
Statut
Membre
Dernière intervention
17 août 2016
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