Uploader de Photos
MOBIL5
-
MOBIL5 -
MOBIL5 -
Bonjour, j'ai un problème avec un uploader de photos.
C'est un Drag 'n Drop. Lorsque je mets la photo elle s'upload dans le répertoire défini.
Seulement je veux l'upload dans le répertoire correspondant à la référence de l'URL: index.php?ref=mareference
J'ai essayé toutes sortes de variables mais ça ne fonctionne pas. Voici le code php de mon index. Inutile d'y mettre le formulaire ici puisque c'est un fichier JavaScript qui appelle la page php.
Et voici le code php de la page cible.
C'est un Drag 'n Drop. Lorsque je mets la photo elle s'upload dans le répertoire défini.
Seulement je veux l'upload dans le répertoire correspondant à la référence de l'URL: index.php?ref=mareference
J'ai essayé toutes sortes de variables mais ça ne fonctionne pas. Voici le code php de mon index. Inutile d'y mettre le formulaire ici puisque c'est un fichier JavaScript qui appelle la page php.
<?php setcookie("coref",$_GET['ref'],time()+ 3600 * 24 * 31 * 12,"/"); ?>
Et voici le code php de la page cible.
<?php
$cokiref = htmlentities($_COOKIE['coref']);
$upload_dir = '../'.$cokiref.'/';
$allowed_ext = array('jpg','jpeg','png','gif');
if(strtolower($_SERVER['REQUEST_METHOD']) != 'post'){
exit_status('Error! Wrong HTTP method!');
}
if(array_key_exists('pic',$_FILES) && $_FILES['pic']['error'] == 0 ){
$pic = $_FILES['pic'];
if(!in_array(get_extension($pic['name']),$allowed_ext)){
exit_status('Only '.implode(',',$allowed_ext).' files are allowed!');
}
// Move the uploaded file from the temporary
// directory to the uploads folder:
if(move_uploaded_file($pic['tmp_name'], $upload_dir.$pic['name'])){
exit_status('File was uploaded successfuly!');
setcookie("coref","",time()-3600,"/");
}
}
exit_status('Something went wrong with your upload!');
// Helper functions
function exit_status($str){
echo json_encode(array('status'=>$str));
exit;
}
function get_extension($file_name){
$ext = explode('.', $file_name);
$ext = array_pop($ext);
return strtolower($ext);
}
?>
A voir également:
- Uploader de Photos
- Partage de photos - Guide
- Toutes mes photos - Guide
- Google photos - Télécharger - Albums photo
- Comment activer le partage de photos dans google photos - Guide
- Doublons photos - Guide
4 réponses
Salut salut,
Je suis pas sûr d'avoir tout compris , quand tu dis "je veux l'upload dans le répertoire correspondant à la référence de l'URL" , tu veux que l'image se place dans un dossier correspondant au nom présent après le "ref=" dans l'url?
Je suis pas sûr d'avoir tout compris , quand tu dis "je veux l'upload dans le répertoire correspondant à la référence de l'URL" , tu veux que l'image se place dans un dossier correspondant au nom présent après le "ref=" dans l'url?
Bonjour,
kyser soze, je crois que c'est bien la question posée.
Dans ce cas :
Remplace :
Par :
kyser soze, je crois que c'est bien la question posée.
Dans ce cas :
Remplace :
if(move_uploaded_file($pic['tmp_name'], $upload_dir.$pic['name'])){
exit_status('File was uploaded successfuly!');
setcookie("coref","",time()-3600,"/");
}
Par :
if (isset($_GET["ref"])){ $dossier = $_GET["ref"]; }
else {$dossier = "DOSSIERDEFAUT"; }
// Remplacer DOSSIERDEFAUT par un dossier par défaut au cas où aucune référence n'est passée dans l'url.
if(move_uploaded_file($pic['tmp_name'], $dossier)){
exit_status('File was uploaded successfuly!');
setcookie("coref","",time()-3600,"/");
}
Ca ne fonctionne pas.
Voici la page html.
La fichier php est appelé à partir d'un fichier .js
Voici le code ici:
http://www.pastebin.com/if1HcD1B
Et le fichier php:
Voici la page html.
<?php setcookie("coref",$_GET['ref'],time()+ 400,"/"); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>PHOTOS : <?php echo isset($_GET['ref']) ? htmlspecialchars($_GET['ref']) : 'VIDE'; ?></title>
<!-- Our CSS stylesheet file -->
<link rel="stylesheet" href="assets/css/styles.css" />
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>s
<![endif]-->
</head>
<body>
<header>
<h1>PHOTOS: <?php echo isset($_GET['ref']) ? htmlspecialchars($_GET['ref']) : 'VIDE'; ?></h1>
</header>
<div id="dropbox">
<span class="message">Glissez-déposez vos photos ici<br /></span>
</div>
<!-- Including The jQuery Library -->
<script src="http://code.jquery.com/jquery-1.6.3.min.js"></script>
<!-- Including the HTML5 Uploader plugin -->
<script src="assets/js/jquery.filedrop.js"></script>
<!-- The main script file -->
<script src="assets/js/script.js"></script>
</body>
</html>
La fichier php est appelé à partir d'un fichier .js
Voici le code ici:
http://www.pastebin.com/if1HcD1B
Et le fichier php:
<?php
if (isset($_COOKIE['coref']))
{
$coki = $_COOKIE['coref'];
$dossier = '../{$coki}/';
}
else
{
$dossier = "fichier";
}
$allowed_ext = array('jpg','jpeg','png','gif');
if(strtolower($_SERVER['REQUEST_METHOD']) != 'GET'){
exit_status('Error! Wrong HTTP method!');
}
if(array_key_exists('pic',$_FILES) && $_FILES['pic']['error'] == 0 ){
$pic = $_FILES['pic'];
if(!in_array(get_extension($pic['name']),$allowed_ext)){
exit_status('Only '.implode(',',$allowed_ext).' files are allowed!');
}
// Move the uploaded file from the temporary
// directory to the uploads folder:
if(move_uploaded_file($_FILES['pic']['tmp_name'], $dossier)){
exit_status('File was uploaded successfuly!');
setcookie("coref","",time()-400,"/");
}
}
exit_status('Something went wrong with your upload!');
// Helper functions
function exit_status($str){
echo json_encode(array('status'=>$str));
exit;
}
function get_extension($file_name){
$ext = explode('.', $file_name);
$ext = array_pop($ext);
return strtolower($ext);
}
?>