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 :

Plupload n'upload pas mes fichiers !


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 50
    Points : 37
    Points
    37
    Par défaut Plupload n'upload pas mes fichiers !
    Bonjour à tous,

    J'essaye aujourd'hui de mettre en place un outil d'upload de fichiers sur mon site. L'upload à toujours été un gros point noir pour moi.

    J'ai choisi d'utiliser Plupload pour cette opération. Cet uploader multi-fichiers en jQuery correspond parfaitement à mes besoins. Oui mais... je m'arrache les cheveux depuis quelques jours car il m'est impossible d'uploader un fichier (j'essaye avec des petites images gif ou jpg). Tout semble OK, pluploader m'affiche une icône "validé", mais je ne trouve jamais mes fichiers sur le serveur.

    Je m'en remet à vous et à votre expérience car je suis à court d'idées.

    J'ai actuellement uploadé Plupload ici: http://publiclab.n2clic.com/plupload/examples/.

    Je me suis contenté d'uploader les fichiers d'origine sans les modifier. La structure du serveur est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    root > plupload > examples
    J'ai également crée les dossiers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    upload_tmp_dir > plupload
    tous deux dans le dossier examples, avec un chmod 777 sur chacun.

    Voici également le fichier "upload.php" appelé par mon index:

    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
    <?php
    /**
     * upload.php
     *
     * Copyright 2009, Moxiecode Systems AB
     * Released under GPL License.
     *
     * License: http://www.plupload.com/license
     * Contributing: http://www.plupload.com/contributing
     */
     
    	// HTTP headers for no cache etc
    	header('Content-type: text/plain; charset=UTF-8');
    	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");
     
    	// Settings
    	$targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
    	$cleanupTargetDir = false; // Remove old files
    	$maxFileAge = 60 * 60; // Temp file age in seconds
     
    	// 5 minutes execution time
    	@set_time_limit(5 * 60);
    	// usleep(5000);
     
    	// Get parameters
    	$chunk = isset($_REQUEST["chunk"]) ? $_REQUEST["chunk"] : 0;
    	$chunks = isset($_REQUEST["chunks"]) ? $_REQUEST["chunks"] : 0;
    	$fileName = isset($_REQUEST["name"]) ? $_REQUEST["name"] : '';
     
    	// Clean the fileName for security reasons
    	$fileName = preg_replace('/[^\w\._]+/', '', $fileName);
     
    	// Make sure the fileName is unique
    	if (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;
    	}
     
    	// Create target dir
    	if (!file_exists($targetDir))
    		@mkdir($targetDir);
     
    	// Remove old temp files
    	if (is_dir($targetDir) && ($dir = opendir($targetDir))) {
    		while (($file = readdir($dir)) !== false) {
    			$filePath = $targetDir . DIRECTORY_SEPARATOR . $file;
     
    			// Remove temp files if they are older than the max age
    			if (preg_match('/\\.tmp$/', $file) && (filemtime($filePath) < time() - $maxFileAge))
    				@unlink($filePath);
    		}
     
    		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"];
     
    	if (strpos($contentType, "multipart") !== false) {
    		if (isset($_FILES['file']['tmp_name']) && is_uploaded_file($_FILES['file']['tmp_name'])) {
    			// Open temp file
    			$out = fopen($targetDir . DIRECTORY_SEPARATOR . $fileName, $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($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($targetDir . DIRECTORY_SEPARATOR . $fileName, $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($out);
    		} else
    			die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
    	}
     
    	// Return JSON-RPC response
    	die('{"jsonrpc" : "2.0", "result" : null, "id" : "id"}');
    ?>
    Si quelqu'un trouve le moyen de faire fonctionner ça... je garderai mes cheveux !

    Merci,
    Julien.

  2. #2
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    Salut,

    As-tu un message d'erreur ?
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Aucun ! Tout semble aller comme sur des roulettes ! Plupload m'affiche la petite icône verte "check" comme si tout s'était bien passé.

    Cependant, fait étrange, j'ai essayé de passer le dossier "exemple" en chmod 777, et là Plupload m'affiche une icône d'alerte (sans message d'erreur toutefois). Donc lorsque je suis en 755 il me dit que tout va bien, et si je passe en 777 problème ! (je ne suis de toute manière pas certain que ce soit le bon dossier à chmoder...)

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Points : 23
    Points
    23
    Par défaut
    Tu as correctement remplis ton fichier de configuration?
    à la rigueur donne le nous aussi si il n'y a rien de sensible (mdp ou autre).

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut, j'utilise plupload sur xampp, je ne l'ai encore pas tester sur mon serveur mais pour que les fichiers soient correctement ecrit dans le dossier spécifier, il suffit de changer la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $targetDir = "leNomdeTonDossier/";
    "leNomdeTonDossier" se trouvera dans le meme dossier que le fichier upload.php

    et tout marche

Discussions similaires

  1. [JSF 2.0] Jsf ne trouve pas mes fichiers css
    Par wsp_ape dans le forum JSF
    Réponses: 3
    Dernier message: 12/06/2012, 08h57
  2. FTP qui n'interprete pas mes fichiers JSP
    Par ElizaD dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/08/2011, 15h19
  3. Mon jar n'importe pas mes fichiers externes
    Par emmessi dans le forum Général Java
    Réponses: 11
    Dernier message: 04/06/2010, 08h20
  4. Je ne retrouve pas mes fichiers sur le site distant ! :-(
    Par Kosh5 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 22/11/2007, 13h21
  5. [Upload] Problème avec l'upload : Pas de fichier tmp !
    Par commedab dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2007, 13h38

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