Как установить cookie с помощью php-скрипта, который выполняется Flash? - PullRequest
1 голос
/ 18 июля 2009

У меня есть сценарий загрузки Flash, который использует файл .php в качестве процессора. Мне нужен файл процессора, чтобы установить cookie с идентификатором галереи, который был создан php-скриптом, и передать его на страницу подтверждения. За исключением случаев, когда Flash запускает файл php ... он не устанавливает cookie. Он устанавливает переменную сеанса, что было достаточно хорошо, но теперь я использую lighttpd для сайта (включая страницу подтверждения) и apache для фактического сценария процессора загрузчика (потому что lighttps отстой при загрузке больших файлов), поэтому сессия vars don ' Передача между 2 серверным программным обеспечением.

Как я могу перенести переменную из php-процессора (работающего на apache) на страницу подтверждения, на которой работает lighttpd?

Ответы [ 4 ]

1 голос
/ 18 июля 2009

Ну, я бы предположил, что он не устанавливает cookie, так как он был вызван скриптом flash, а не браузером, а куки сохраняются браузером.

Единственное, о чем я могу думать, - это база данных mysql или просто текстовый файл.

0 голосов
/ 09 декабря 2013

здесь вы найдете лучшее решение для хранения всех данных загружаемых изображений в flex с php-скриптом

    $array                          =   array(); 
    $array["large_filename"]    =   $image_file_name; 
    $array["large_path"]        =   DIR_WS_IMAGES_TEMPIMAGES . $image_file_name;
    $setcookie              =   serialize($array); setcookie( "ImageCookie", 
    $setcookie, time()+(60*60*24*15) );
0 голосов
/ 02 февраля 2010

Не уверен, что мы делаем то же самое, но у меня была похожая проблема: я не смог установить cookie из скрипта php, запускаемого через flash Однако позже я понял, что это не удалось, потому что мне не хватало аргументов.

flash.swf:
sendToURL('script.php?val=dataFromFlash');

script.php:
//setcookie('flashData', $_GET['val']); //this did not work
setcookie('flashData', $_GET['val'], '0', '/'); //this worked

В руководстве по PHP сказано, что требуется только аргумент name, но мне пришлось указать аргументы expire и date, чтобы это сработало. Возможно, это потому, что, как показывает ответ Нико, он не отправляется через браузер? В любом случае, надеюсь, это поможет.

0 голосов
/ 20 июля 2009

Просто подумал о втором решении, которое, вероятно, менее эффективно, чем решение Нико, но может быть лучше для вас. Если cookie, отправляемый во Flash, также не отправляется в браузер, вы можете использовать класс ExternalInterface Flash для передачи содержимого cookie в функцию javascript, которая установит cookie в браузере. Или вы можете вызвать функцию javascript, которая сделает вызов AJAX для извлечения содержимого cookie.

...