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:
<?php
include('functions/connect_mysql.php');
/*
Uploadify
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
################################################################################
######################################
// Define a destination
$targetFolder = 'zdjecia_temp/'; // Relative to the root
$verifyToken = md5('unique_salt' . $_POST['timestamp']);
if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name']; //move_uploaded_file($tempFile,$targetFile);
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png'); // File extensions $fileParts = pathinfo($_FILES['Filedata']['name']);
if (in_array($fileParts['extension'],$fileTypes)) {
$max_id_zdj_temp = oblicz_max('zdjecia_temp','id');
if ($max_id_zdj_temp < 1000) { $max_id_zdj_temp = $max_id_zdj_temp+1000; }
if(!isset($_SESSION["zdj_array"])) {//sesja z listą plików do załadowania $_SESSION['zdj_array']=array(); $_SESSION['zdj_nazwa_array']=array(); $_SESSION['zdj_znak_wodny_array']=array(); $_SESSION['zdj_glowne_session'] = '';
}
$_SESSION['zdj_array'][$max_id_zdj_temp] = $fileParts['extension'];
$_SESSION['zdj_nazwa_array'][$max_id_zdj_temp] = $zdj_name;
$_SESSION['zdj_znak_wodny_array'][$max_id_zdj_temp] = $_POST['znak_wodny'];
if (count($_SESSION['zdj_array']) > 1
) { $_SESSION['zdj_glowne_session'] = $zdj_glowne;
} else {
#if (mysql_num_rows($liczba_zdjec) == 0) {//jeśli nie ma zdjęć w bazie
$_SESSION['zdj_glowne_session'] = $max_id_zdj_temp;
#}
}
$nazwa_pliku = $max_id_zdj_temp.".".$fileParts['extension'];
if(empty($_GET['id'])) {//jesli dodajemy produkt
if(is_array($_SESSION['zdj_array']) && count($_SESSION['zdj_array'])==1) {//jesli dodajemy pierwsze zdjecie $_SESSION['zdj_glowne_session'] = $max_id_zdj_temp;
}
}
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]."');");
} else {
print('<div class="zapisz_komunikat_smal red">Plik nie został załadowany.<br>'.$targetFolder.$nazwa_pliku);
}
} else {
echo 'Invalid file type.'; }
}
Ten post edytował kukix 6.02.2014, 15:30:18