Witam.

Uruchamaim własnie skrypt Uploadify, który pozwala grupowo wgrywac zdjęcia na serwer.

Problemem jest to, że sesja utworzona w pliku "ajax_uploadify.php" nie jest dostepna na stronie która wywoluje skrypt.

Pod przeglądarką chrome nie ma problemu, pod firefoxem print_r($_SESSION); nie zwraca zmiennych sesji, które utworzyłem w tym pliku.

Co może być nie tak, że firefox nie widzi tej zmiennej sesji? Czyżby firefox przypisywał sesje do innej domeny? czy moge przeklazac do pliku ajax mój id sesji?


Plik ajax_uploadify.php:
  1. <?php
  2. include('functions/connect_mysql.php');
  3.  
  4. /*
  5. Uploadify
  6. Copyright (c) 2012 Reactive Apps, Ronnie Garcia
  7. Released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
  8. */
  9.  
  10. if(!isset($_SESSION)) { session_start(); }
  11.  
  12. ################################################################################
    ######################################
  13.  
  14.  
  15. // Define a destination
  16. $targetFolder = 'zdjecia_temp/'; // Relative to the root
  17. $verifyToken = md5('unique_salt' . $_POST['timestamp']);
  18.  
  19. if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
  20.  
  21. $tempFile = $_FILES['Filedata']['tmp_name'];
  22. $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
  23. $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name']; //move_uploaded_file($tempFile,$targetFile);
  24.  
  25. // Validate the file type
  26. $fileTypes = array('jpg','jpeg','gif','png'); // File extensions
  27. $fileParts = pathinfo($_FILES['Filedata']['name']);
  28.  
  29. if (in_array($fileParts['extension'],$fileTypes)) {
  30.  
  31. $max_id_zdj_temp = oblicz_max('zdjecia_temp','id');
  32. if ($max_id_zdj_temp < 1000) { $max_id_zdj_temp = $max_id_zdj_temp+1000; }
  33. if(!isset($_SESSION["zdj_array"])) {//sesja z listą plików do załadowania
  34. $_SESSION['zdj_array']=array();
  35. $_SESSION['zdj_nazwa_array']=array();
  36. $_SESSION['zdj_znak_wodny_array']=array();
  37. $_SESSION['zdj_glowne_session'] = '';
  38. }
  39.  
  40. $_SESSION['zdj_array'][$max_id_zdj_temp] = $fileParts['extension'];
  41. $_SESSION['zdj_nazwa_array'][$max_id_zdj_temp] = $zdj_name;
  42. $_SESSION['zdj_znak_wodny_array'][$max_id_zdj_temp] = $_POST['znak_wodny'];
  43.  
  44. if (count($_SESSION['zdj_array']) > 1) {
  45. $_SESSION['zdj_glowne_session'] = $zdj_glowne;
  46. } else {
  47. #if (mysql_num_rows($liczba_zdjec) == 0) {//jeśli nie ma zdjęć w bazie
  48. $_SESSION['zdj_glowne_session'] = $max_id_zdj_temp;
  49. #}
  50. }
  51.  
  52. $nazwa_pliku = $max_id_zdj_temp.".".$fileParts['extension'];
  53.  
  54. if (move_uploaded_file($tempFile, $targetFolder.$nazwa_pliku)) {
  55.  
  56. if(empty($_GET['id'])) {//jesli dodajemy produkt
  57.  
  58. if(is_array($_SESSION['zdj_array']) && count($_SESSION['zdj_array'])==1) {//jesli dodajemy pierwsze zdjecie
  59. $_SESSION['zdj_glowne_session'] = $max_id_zdj_temp;
  60. }
  61.  
  62. }
  63.  
  64. sql("INSERT INTO ".$dbprefix."zdjecia_temp (id, format, data, zdj_nazwa) VALUES('".$max_id_zdj_temp."','".$fileParts['extension']."',now(), '".$_POST['zdj_nazwa_temp'][ $max_id_zdj_temp]."');");
  65. echo '1';
  66.  
  67. } else {
  68. print('<div class="zapisz_komunikat_smal red">Plik nie został załadowany.<br>'.$targetFolder.$nazwa_pliku);
  69.  
  70. }
  71.  
  72.  
  73.  
  74.  
  75.  
  76. } else {
  77. echo 'Invalid file type.';
  78. }
  79. }
  80.  
  81.