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

Langage PHP Discussion :

problème plupload: inserer nom fichier dans ma base


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut problème plupload: inserer nom fichier dans ma base
    Bonjour,
    j'utilise le plugin plupload pour uploader mes images pour mon site,

    L'upload se passe correctement dans mon dossier upload, seulement
    je n'arrive pas à enregistrer les infos des images dans ma table image.

    Je suis dessus depuis 3 jours et je désespère

    voici mes différents codes:

    Photo.php

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    <?php
    include('config.php');
    ?>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <link rel="stylesheet" href="style.css" />
            <!--[if lt IE 9]>
            <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
            <![endif]-->
     
            <title>Catalogue VTech</title>
            <script src="js/lightbox/js/jquery-1.7.2.min.js"></script>
    		<script src="js/lightbox/js/lightbox.js"></script>
            <link href="js/lightbox/css/lightbox.css" rel="stylesheet" />
     
     
            <script type="text/javascript" src="http://bp.yahooapis.com/2.4.21/browserplus-min.js"></script>
     
    		<script type="text/javascript" src="js/plupload/js/plupload.js"></script>
            <script type="text/javascript" src="js/plupload/js/plupload.gears.js"></script>
            <script type="text/javascript" src="js/plupload/js/plupload.silverlight.js"></script>
            <script type="text/javascript" src="js/plupload/js/plupload.flash.js"></script>
            <script type="text/javascript" src="js/plupload/js/plupload.browserplus.js"></script>
            <script type="text/javascript" src="js/plupload/js/plupload.html4.js"></script>
            <script type="text/javascript" src="js/plupload/js/plupload.html5.js"></script>
     
     
     
     
        </head>
     
    	<body id="theme">
    		<div id="tout">
     
    			<?php
     
     
                    include('banniere.php');
     
                ?>
     
     
                <section>
     
     
               <h1>G&eacute;stionnair d'Upload</h1>
     
     
     
    			  <? if (!isset($_POST['monArticle'])){?>
                  <?php
    				$maReq = mysql_query("select * from article order by titre");
                    ?>
                    <center><FORM Method="POST" Action="photo.php">
    					<select name="monArticle" size="1">
                              <option value=>S&eacute;l&eacute;ctionner un Article</option>
    			<?php
    						while($dnn2 = mysql_fetch_array($maReq))
    						{ 
    						?>
    								<option value=<?php echo $dnn2['refArticle']?> ><?php echo $dnn2['titre']?></option>
    						<?php
    						}	
     
     
    						?>                        
    	     		    </select>
     
    						<INPUT type="submit" value="Ok">
    		    	</FORM></center>  	
     
     
               <? } ?>
     
     
     
               <? if (isset($_POST['monArticle'])){
     
     
     
    		   ?>
                		<script type="text/javascript">
    						var article = '<?php echo $_POST['monArticle']; ?>' ; 
                        </script>    
                             <!-- Load Queue widget CSS and jQuery -->
                        <style type="text/css">@import url(js/plupload/js/jquery.plupload.queue/css/jquery.plupload.queue.css);</style>
                        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
     
                        <!-- Third party script for BrowserPlus runtime (Google Gears included in Gears runtime now) -->
                        <script type="text/javascript" src="http://bp.yahooapis.com/2.4.21/browserplus-min.js"></script>
     
                        <!-- Load plupload and all it's runtimes and finally the jQuery queue widget -->
                        <script type="text/javascript" src="js/plupload/js/plupload.full.js"></script>
                        <script type="text/javascript" src="js/plupload/js/jquery.plupload.queue/jquery.plupload.queue.js"></script>
     
     
                        <script type="text/javascript">
                        plupload.addI18n({
                            'Select files' : 'Sélectionnez les fichiers',
                            'Add files to the upload queue and click the start button.' : 'Ajoutez des fichiers à la file et appuyez sur le bouton démarrer.',
                            'Filename' : 'Nom de fichier',
                            'Status' : 'Status',
                            'Size' : 'Taille',
                            'Add files' : 'Ajouter Fichiers',
                            'Stop current upload' : 'Arrêter l\'envoi en cours',
                            'Start uploading queue' : 'Démarrer l\'envoi',
                            'Uploaded %d/%d files': '%d/%d fichiers envoyés',
                            'N/A' : 'Non applicable',
                            'Drag files here.' : 'Déposer les fichiers ici.',
                            'File extension error.': 'Erreur extension fichier',
                            'File size error.': 'Erreur taille fichier.',
                            'Init error.': 'Erreur d\'initialisation.',
                            'HTTP Error.': 'Erreur HTTP.',
                            'Security error.': 'Erreur de sécurité.',
                            'Generic error.': 'Erreur générique.',
                            'IO error.': 'Erreur E/S.',
                            'Stop Upload': 'Arrêter les envois.',
                            'Add Files': 'Ajouter des fichiers',
                            'Start upload': 'Démarrer les envois',
                            '%d files queued': '%d fichiers en attente.'
                        });
                        </script>
     
                        <script type="text/javascript">
                        // Convert divs to queue widgets when the DOM is ready
                        $(function() {
                            $("#uploader").pluploadQueue({
                                // General settings
                                runtimes : 'gears,flash,silverlight,browserplus,html5',
                                url : 'upload.php', 
                                max_file_size : '10mb',
                                chunk_size : '1mb',
                                unique_names : true,
     
                                // Resize images on clientside if we can
                                resize : {width : 320, height : 240, quality : 90},
     
                                // Specify what files to browse for
                                filters : [
                                    {title : "Image files", extensions : "jpeg,jpg,gif,png"}
     
                                ],
     
                                // Flash settings
                                flash_swf_url : 'js/plupload/js/plupload.flash.swf',
     
                                // Silverlight settings
                                silverlight_xap_url : 'js/plupload/js/plupload.silverlight.xap',
     
    							multipart_params: { 'article': $('#article').val() }
     
     
     
                            });
     
     
    						var uploader = $('#uploader').pluploadQueue();
    						uploader.bind('FilesAdded', function(up, files) {
    						 uploader.settings.multipart_params.article = $("#article").val();
     
    						});
     
     
     
                            // Client side form validation
                            $('form').submit(function(e) {
                                var uploader = $('#uploader').pluploadQueue();
     
                                // Files in queue upload them first
                                if (uploader.files.length > 0) {
                                    // When all files are uploaded submit form
                                    uploader.bind('StateChanged', function() {
                                        if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
     
                                            $('form')[0].submit();
                                        }
                                    });
     
                                    uploader.start();
                                } else {
                                    alert('You must queue at least one file.');
                                }
     
                                return false;
                            });
                        });
     
     
     
                        </script>
     
     
     
                        <form ..>
                            <div id="uploader">
                                <p>You browser doesn't have Flash, Silverlight, Gears, BrowserPlus or HTML5 support.</p>
                            </div>
                        </form>
     
     
     
                <? }?>
     
     
     
     
                </section>
             </div>
     
     
     
        </body>
    </html>


    et mon fichier upload.php


    upload.php

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <?php
    include('config.php');
    // HTTP headers for no cache etc
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
     
     
    ?> <script> alert('aaaaaaaaa'); </script> <?
     
    // Settings
    //$targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
    $targetDir = '../images/upload';
     
    $cleanupTargetDir = true; // Remove old files
    $maxFileAge = 5 * 3600; // Temp file age in seconds
     
    // 5 minutes execution time
    @set_time_limit(5 * 60);
     
    // Uncomment this one to fake upload time
    // usleep(5000);
     
    // Get parameters
    $chunk = isset($_REQUEST["chunk"]) ? intval($_REQUEST["chunk"]) : 0;
    $chunks = isset($_REQUEST["chunks"]) ? intval($_REQUEST["chunks"]) : 0;
    $fileName = isset($_REQUEST["name"]) ? $_REQUEST["name"] : '';
    $article=$_REQUEST["article"];
     
    // Clean the fileName for security reasons
    $fileName = preg_replace('/[^\w\._]+/', '_', $fileName);
     
    // Make sure the fileName is unique but only if chunking is disabled
    if ($chunks < 2 && file_exists($targetDir . DIRECTORY_SEPARATOR . $fileName)) {
    	$ext = strrpos($fileName, '.');
    	$fileName_a = substr($fileName, 0, $ext);
    	$fileName_b = substr($fileName, $ext);
     
    	$count = 1;
    	while (file_exists($targetDir . DIRECTORY_SEPARATOR . $fileName_a . '_' . $count . $fileName_b))
    		$count++;
     
    	$fileName = $fileName_a . '_' . $count . $fileName_b;
    }
     
    $filePath = $targetDir . DIRECTORY_SEPARATOR . $fileName;
     
    // Create target dir
    if (!file_exists($targetDir))
    	@mkdir($targetDir);
     
    // Remove old temp files	
    if ($cleanupTargetDir) {
    	if (is_dir($targetDir) && ($dir = opendir($targetDir))) {
    		while (($file = readdir($dir)) !== false) {
    			$tmpfilePath = $targetDir . DIRECTORY_SEPARATOR . $file;
     
    			// Remove temp file if it is older than the max age and is not the current file
    			if (preg_match('/\.part$/', $file) && (filemtime($tmpfilePath) < time() - $maxFileAge) && ($tmpfilePath != "{$filePath}.part")) {
    				@unlink($tmpfilePath);
    			}
    		}
    		closedir($dir);
    	} else {
    		die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": "Failed to open temp directory."}, "id" : "id"}');
    	}
    }	
     
    // Look for the content type header
    if (isset($_SERVER["HTTP_CONTENT_TYPE"]))
    	$contentType = $_SERVER["HTTP_CONTENT_TYPE"];
     
    if (isset($_SERVER["CONTENT_TYPE"]))
    	$contentType = $_SERVER["CONTENT_TYPE"];
     
    // Handle non multipart uploads older WebKit versions didn't support multipart in HTML5
    if (strpos($contentType, "multipart") !== false) {
    	if (isset($_FILES['file']['tmp_name']) && is_uploaded_file($_FILES['file']['tmp_name'])) {
     
     
     
     
    		// Open temp file
    		$out = @fopen("{$filePath}.part", $chunk == 0 ? "wb" : "ab");
    		if ($out) {
    			// Read binary input stream and append it to temp file
    			$in = @fopen($_FILES['file']['tmp_name'], "rb");
     
    			if ($in) {
    				while ($buff = fread($in, 4096))
    					fwrite($out, $buff);
    			} else
    				die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
    			@fclose($in);
    			@fclose($out);
    			@unlink($_FILES['file']['tmp_name']);
    		} else
    			die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
    	} else
    		die('{"jsonrpc" : "2.0", "error" : {"code": 103, "message": "Failed to move uploaded file."}, "id" : "id"}');
    } else {
    	// Open temp file
    	$out = @fopen("{$filePath}.part", $chunk == 0 ? "wb" : "ab");
    	if ($out) {
    		// Read binary input stream and append it to temp file
    		$in = @fopen("php://input", "rb");
     
    		if ($in) {
    			while ($buff = fread($in, 4096))
    				fwrite($out, $buff);
    		} else
    			die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
     
    		@fclose($in);
    		@fclose($out);
    	} else
    		die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
    }
     
    // Check if file has been uploaded
    if (!$chunks || $chunk == $chunks - 1) {
    	// Strip the temp .part suffix off 
    	rename("{$filePath}.part", $filePath);
     
    	$photoName = $_FILES['file']['name'];
    	$exploded_photoName = explode('.', $photoName);
    	$query="INSERT INTO image(doc_blob, extension, principal ,refArticle) VALUES('$fileName', '$exploded_photoName',  'n' , '$article')";
    	mysql_query($query);
    	?> <script> alert('aaaaaaaaa'); </script> <?
     
     
    }
     
    ?> <script> alert('aaaaaaaaa'); </script> <?
    die('{"jsonrpc" : "2.0", "result" : null, "id" : "id"}');


    Je ne vois vraiment pas ou se trouve mon problème, selon moi cela devrait marcher....

    non?


    Merci d'avance pour vos futurs conseils.


    Edit: Je crois que cela vient de mon $article que j'envoi de photo.php à upload.php. seulement je ne vois pas pourquoi cela ne marche pas.

  2. #2
    Nouveau candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut
    bon et bien je m'auto répond,


    J'ai tous simplement passé ma variable article dans l'url ^^


    et le code fonctionne.


    merci quand même

Discussions similaires

  1. Réponses: 9
    Dernier message: 10/04/2015, 15h01
  2. Réponses: 1
    Dernier message: 23/08/2012, 09h32
  3. [MySQL] Problème d'insertion de données dans une base MySql à partir d'un fichier csv
    Par kazabandi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/12/2010, 18h05
  4. stocker les nom de fichiers dans une base
    Par Corben dans le forum Windows
    Réponses: 2
    Dernier message: 04/01/2006, 15h50
  5. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54

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