par
wwwbillgates » 09 janv. 2011, 22:21
Bonsoir a tous, je souhaite créer 2 sessions contenant le nom de 2 photos mais lorsque je charge la deuxieme photos alors la premiere session devien vide et inversement. Etrangement le problème ce produit uniquement sous Firefox...
Voici une partie de code de ma page d'upload (j'utilise uploadify), je précise qu'il n'y a pas de unset sur ma page qui détruirai ma session.
?>
echo @$_SESSION['temp']['photo1'];
echo @$_SESSION['temp']['photo2'];
<script type="text/javascript">
$(document).ready(function() {
$("#fileUploadgrowl1").fileUpload({
'uploader': '/includes/scripts/progress_bar/uploadify/uploader.swf',
'cancelImg': '/includes/scripts/progress_bar/uploadify/cancel.png',
'script': '/templates/pages/etape1_description_upload_photo1.php',
'scriptData': { 'session': '<?php echo session_id(); ?>'},
'folder': '/photos/',
'fileDesc': 'Image Files',
'buttonImg': '../../interface/parcourir.gif',
'fileExt': '*.jpg;*.jpeg;*.png;*.gif',
'auto': true,
'multi': false,
'simUploadLimit': 1,
'sizeLimit': 10048576,
onError: function (event, queueID ,fileObj, errorObj) {
var msg;
if (errorObj.status == 404) {
alert('Could not find upload script. Use a path relative to: '+'<?= getcwd() ?>');
msg = 'Could not find upload script.';
} else if (errorObj.type === "HTTP")
msg = errorObj.type+": "+errorObj.status;
else if (errorObj.type ==="File Size")
msg = fileObj.name+'<br>'+errorObj.type+' Limit: '+Math.round(errorObj.sizeLimit/1024)+'KB';
else
msg = errorObj.type+": "+errorObj.text;
$.jGrowl('<p></p>'+msg, {
theme: 'error',
header: 'ERREUR',
sticky: true
});
$("#fileUploadgrowl1" + queueID).fadeOut(250, function() { $("#fileUploadgrowl1" + queueID).remove()});
return false;
},
onCancel: function (a, b, c, d) {
var msg = "Cancelled uploading: "+c.name;
$.jGrowl('<p></p>'+msg, {
theme: 'warning',
header: 'l\'envoi a été interrompu',
life: 4000,
sticky: false
});
},
onComplete: function (a, b ,c, d, e) {
var size = Math.round(c.size/1024);
$.jGrowl('<p></p>'+c.name+' - '+size+'KB', {
theme: 'success',
header: 'Envoi effectué avec succès',
life: 4000,
sticky: false
});
}
});
});
$(document).ready(function() {
$("#fileUploadgrowl2").fileUpload({
'uploader': '/includes/scripts/progress_bar/uploadify/uploader.swf',
'cancelImg': '/includes/scripts/progress_bar/uploadify/cancel.png',
'script': '/templates/pages/etape1_description_upload_photo2.php',
'scriptData': { 'session': '<?php echo session_id(); ?>'},
'folder': '/photos/',
'fileDesc': 'Image Files',
'buttonImg': '../../interface/parcourir.gif',
'fileExt': '*.jpg;*.jpeg;*.png;*.gif',
'auto': true,
'multi': false,
'simUploadLimit': 1,
'sizeLimit': 10048576,
onError: function (event, queueID ,fileObj, errorObj) {
var msg;
if (errorObj.status == 404) {
alert('Could not find upload script. Use a path relative to: '+'<?= getcwd() ?>');
msg = 'Could not find upload script.';
} else if (errorObj.type === "HTTP")
msg = errorObj.type+": "+errorObj.status;
else if (errorObj.type ==="File Size")
msg = fileObj.name+'<br>'+errorObj.type+' Limit: '+Math.round(errorObj.sizeLimit/1024)+'KB';
else
msg = errorObj.type+": "+errorObj.text;
$.jGrowl('<p></p>'+msg, {
theme: 'error',
header: 'ERREUR',
sticky: true
});
$("#fileUploadgrowl2" + queueID).fadeOut(250, function() { $("#fileUploadgrowl2" + queueID).remove()});
return false;
},
onCancel: function (a, b, c, d) {
var msg = "Cancelled uploading: "+c.name;
$.jGrowl('<p></p>'+msg, {
theme: 'warning',
header: 'l\'envoi a été interrompu',
life: 4000,
sticky: false
});
},
onComplete: function (a, b ,c, d, e) {
var size = Math.round(c.size/1024);
$.jGrowl('<p></p>'+c.name+' - '+size+'KB', {
theme: 'success',
header: 'Envoi effectué avec succès',
life: 4000,
sticky: false
});
}
});
});
</script>
<br />
Photo n°1<br /><div id="fileUploadgrowl1">erreur avec Javascript</div>
Photo n°2<br /><div id="fileUploadgrowl2">erreur avec Javascript</div>
<input type="hidden" value="2" name="nb_photos"/>
<?php
Voici ma page ou je créer ma session $_SESSION['temp']['photo1']
<?php session_start(); ?>
<!--Permet l'echange de session (firefox)-->
<?php if ($_REQUEST['session']) session_id($_REQUEST['session']); ?>
<?php
if (isset($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$nom_photo_renomme = md5(uniqid(rand(), true)); // uniquid() Génère un identifiant unique basé sur la date et heure courante en microsecondes.
$extension_photo = strtolower(strrchr($_FILES['Filedata']['name'], '.')); //strrchr renvoie l'extension avec le point // strtolower met l'extension en minuscule
$nom_photo_renomme_avec_extension = $nom_photo_renomme . $extension_photo;
$targetFile = str_replace('//','/',$targetPath) . $nom_photo_renomme_avec_extension;
$_SESSION['temp']['photo1'] = $nom_photo_renomme_avec_extension;
move_uploaded_file($tempFile,$targetFile);
echo "1";
}
?>
Et voici ma page ou je créer ma session $_SESSION['temp']['photo2']
<?php session_start(); ?>
<!--Permet l'echange de session (firefox)-->
<?php if ($_REQUEST['session']) session_id($_REQUEST['session']); ?>
<?php
if (isset($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$nom_photo_renomme = md5(uniqid(rand(), true)); // uniquid() Génère un identifiant unique basé sur la date et heure courante en microsecondes.
$extension_photo = strtolower(strrchr($_FILES['Filedata']['name'], '.')); //strrchr renvoie l'extension avec le point // strtolower met l'extension en minuscule
$nom_photo_renomme_avec_extension = $nom_photo_renomme . $extension_photo;
$targetFile = str_replace('//','/',$targetPath) . $nom_photo_renomme_avec_extension;
$_SESSION['temp']['photo2'] = $nom_photo_renomme_avec_extension;
move_uploaded_file($tempFile,$targetFile);
echo "1";
}
?>
Bonsoir a tous, je souhaite créer 2 sessions contenant le nom de 2 photos mais lorsque je charge la deuxieme photos alors la premiere session devien vide et inversement. Etrangement le problème ce produit uniquement sous Firefox...
Voici une partie de code de ma page d'upload (j'utilise uploadify), je précise qu'il n'y a pas de unset sur ma page qui détruirai ma session.
[php]
?>
echo @$_SESSION['temp']['photo1'];
echo @$_SESSION['temp']['photo2'];
<script type="text/javascript">
$(document).ready(function() {
$("#fileUploadgrowl1").fileUpload({
'uploader': '/includes/scripts/progress_bar/uploadify/uploader.swf',
'cancelImg': '/includes/scripts/progress_bar/uploadify/cancel.png',
'script': '/templates/pages/etape1_description_upload_photo1.php',
'scriptData': { 'session': '<?php echo session_id(); ?>'},
'folder': '/photos/',
'fileDesc': 'Image Files',
'buttonImg': '../../interface/parcourir.gif',
'fileExt': '*.jpg;*.jpeg;*.png;*.gif',
'auto': true,
'multi': false,
'simUploadLimit': 1,
'sizeLimit': 10048576,
onError: function (event, queueID ,fileObj, errorObj) {
var msg;
if (errorObj.status == 404) {
alert('Could not find upload script. Use a path relative to: '+'<?= getcwd() ?>');
msg = 'Could not find upload script.';
} else if (errorObj.type === "HTTP")
msg = errorObj.type+": "+errorObj.status;
else if (errorObj.type ==="File Size")
msg = fileObj.name+'<br>'+errorObj.type+' Limit: '+Math.round(errorObj.sizeLimit/1024)+'KB';
else
msg = errorObj.type+": "+errorObj.text;
$.jGrowl('<p></p>'+msg, {
theme: 'error',
header: 'ERREUR',
sticky: true
});
$("#fileUploadgrowl1" + queueID).fadeOut(250, function() { $("#fileUploadgrowl1" + queueID).remove()});
return false;
},
onCancel: function (a, b, c, d) {
var msg = "Cancelled uploading: "+c.name;
$.jGrowl('<p></p>'+msg, {
theme: 'warning',
header: 'l\'envoi a été interrompu',
life: 4000,
sticky: false
});
},
onComplete: function (a, b ,c, d, e) {
var size = Math.round(c.size/1024);
$.jGrowl('<p></p>'+c.name+' - '+size+'KB', {
theme: 'success',
header: 'Envoi effectué avec succès',
life: 4000,
sticky: false
});
}
});
});
$(document).ready(function() {
$("#fileUploadgrowl2").fileUpload({
'uploader': '/includes/scripts/progress_bar/uploadify/uploader.swf',
'cancelImg': '/includes/scripts/progress_bar/uploadify/cancel.png',
'script': '/templates/pages/etape1_description_upload_photo2.php',
'scriptData': { 'session': '<?php echo session_id(); ?>'},
'folder': '/photos/',
'fileDesc': 'Image Files',
'buttonImg': '../../interface/parcourir.gif',
'fileExt': '*.jpg;*.jpeg;*.png;*.gif',
'auto': true,
'multi': false,
'simUploadLimit': 1,
'sizeLimit': 10048576,
onError: function (event, queueID ,fileObj, errorObj) {
var msg;
if (errorObj.status == 404) {
alert('Could not find upload script. Use a path relative to: '+'<?= getcwd() ?>');
msg = 'Could not find upload script.';
} else if (errorObj.type === "HTTP")
msg = errorObj.type+": "+errorObj.status;
else if (errorObj.type ==="File Size")
msg = fileObj.name+'<br>'+errorObj.type+' Limit: '+Math.round(errorObj.sizeLimit/1024)+'KB';
else
msg = errorObj.type+": "+errorObj.text;
$.jGrowl('<p></p>'+msg, {
theme: 'error',
header: 'ERREUR',
sticky: true
});
$("#fileUploadgrowl2" + queueID).fadeOut(250, function() { $("#fileUploadgrowl2" + queueID).remove()});
return false;
},
onCancel: function (a, b, c, d) {
var msg = "Cancelled uploading: "+c.name;
$.jGrowl('<p></p>'+msg, {
theme: 'warning',
header: 'l\'envoi a été interrompu',
life: 4000,
sticky: false
});
},
onComplete: function (a, b ,c, d, e) {
var size = Math.round(c.size/1024);
$.jGrowl('<p></p>'+c.name+' - '+size+'KB', {
theme: 'success',
header: 'Envoi effectué avec succès',
life: 4000,
sticky: false
});
}
});
});
</script>
<br />
Photo n°1<br /><div id="fileUploadgrowl1">erreur avec Javascript</div>
Photo n°2<br /><div id="fileUploadgrowl2">erreur avec Javascript</div>
<input type="hidden" value="2" name="nb_photos"/>
<?php
[/php]
Voici ma page ou je créer ma session $_SESSION['temp']['photo1']
[php]
<?php session_start(); ?>
<!--Permet l'echange de session (firefox)-->
<?php if ($_REQUEST['session']) session_id($_REQUEST['session']); ?>
<?php
if (isset($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$nom_photo_renomme = md5(uniqid(rand(), true)); // uniquid() Génère un identifiant unique basé sur la date et heure courante en microsecondes.
$extension_photo = strtolower(strrchr($_FILES['Filedata']['name'], '.')); //strrchr renvoie l'extension avec le point // strtolower met l'extension en minuscule
$nom_photo_renomme_avec_extension = $nom_photo_renomme . $extension_photo;
$targetFile = str_replace('//','/',$targetPath) . $nom_photo_renomme_avec_extension;
$_SESSION['temp']['photo1'] = $nom_photo_renomme_avec_extension;
move_uploaded_file($tempFile,$targetFile);
echo "1";
}
?>
[/php]
Et voici ma page ou je créer ma session $_SESSION['temp']['photo2']
[php]
<?php session_start(); ?>
<!--Permet l'echange de session (firefox)-->
<?php if ($_REQUEST['session']) session_id($_REQUEST['session']); ?>
<?php
if (isset($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$nom_photo_renomme = md5(uniqid(rand(), true)); // uniquid() Génère un identifiant unique basé sur la date et heure courante en microsecondes.
$extension_photo = strtolower(strrchr($_FILES['Filedata']['name'], '.')); //strrchr renvoie l'extension avec le point // strtolower met l'extension en minuscule
$nom_photo_renomme_avec_extension = $nom_photo_renomme . $extension_photo;
$targetFile = str_replace('//','/',$targetPath) . $nom_photo_renomme_avec_extension;
$_SESSION['temp']['photo2'] = $nom_photo_renomme_avec_extension;
move_uploaded_file($tempFile,$targetFile);
echo "1";
}
?>
[/php]