Actionscript - AS 2.0 - PHP скопировать файл с сервера на сервер, затем запустить функцию - PullRequest
1 голос
/ 12 февраля 2012

Основная идея: У меня есть флэш-файл, который делает снимки экрана одним нажатием кнопки, отправляет данные в файл PHP, а затем пользователь получает возможность сохранить изображение в формате PNG.Изображения, которые объединяются вместе (через PHP), требуют, чтобы они находились на том же сервере, что и PHP, в противном случае они не объединяются, и окончательный PNG отображается пустым.

Мое решение на данный момент: У меня есть два PHP-файла, и мне просто нужно найти способ объединить их.Скриншот один и тот, который копирует файл с одного сервера на другой.Это моя читерская работа по переносу изображения на тот же сервер, затем запустите скриншот php.

Код PHP между серверами:

<?PHP

$inputfile = FOPEN("https://www.google.com/intl/en_com/images/srpr/logo3w.png", "r");
$outputfile = FOPEN("transferedfile.gif", "w");
ECHO "File opened...";
$data = '';

WHILE (!FEOF($inputfile)) {
  $data .= FREAD($inputfile, 8192);
}

ECHO "Data read...";
FWRITE($outputfile, $data);
ECHO "transfered data";
FCLOSE ($inputfile);
FCLOSE ($outputfile);

ECHO "Done.";

?>

Итак, как вы можете видеть, он тянет логотип Google и сохраняет его как «transferedfile.gif» в каталог, в котором находится PHP.Я могу заставить этот PHP-код работать, сохранив его как whatIWant.php на моем веб-сервере и посетив его напрямую, но мне нужно вместо логотипа Google (в этом примере) поместить значение, которое будет динамически изменяться с помощью flash.

Итак, в основном ... во флэш-файле у меня будет переменная с синонимом, в которой URL-адрес изменится, короче говоря.Итак, мы просто скажем, что я определяю эту переменную во флэш-памяти как var imageToGet, поэтому мне нужно как-то передать эту переменную в этот PHP.Это один шаг ... вот код AS 2.0:

My Actionscript (2.0) Код:

button.onRelease = function ():Void {
    sendImageToServer();
    ScreenShot.save(_root, "screenshot.png", 0, 0, 100, 140);
};

функция sendImageToServer() еще не выполнена,Вот где я застрял.Мне нужно, чтобы функция sendImageToServer() отправляла var imageToGet как изображение, которое нужно получить, ТО затем запустите функцию ScreenShot.save() после завершения передачи (иначе FCLOSE ($outputfile); завершена)

В заключение.: В видеоклипе на сцене будет загружено динамическое изображение, поэтому после нажатия кнопки потребуется скопировать это динамическое изображение на локальный сервер, а затем запустить функцию screenShot.Я полагаю, что, как только я это выясню, я смогу делать все остальное, например сохранять под уникальным именем, сохранять несколько файлов и т. Д. Но мне просто нужно нажать в правильном направлении:)

Спасиботак много всех @ StackOverflow.До сих пор вы были для меня всего лишь офигенным!

РЕДАКТИРОВАТЬ - Я нашел хорошую отправную точку !!

Я нашел хорошую отправную точку,и я отвечаю на свой вопрос на случай, если кто-то еще наткнется на это.Я использовал эти два кода в качестве отправной точки, и я думаю, что я на правильном пути ...

Во Flash: Я просто создал динамическое текстовое поле с именем экземпляра traceText

В Actionscript (2.0):

var send:LoadVars = new LoadVars;
var receive:LoadVars = new LoadVars;
send.toPHP = "asd123";
receive.onLoad = function(){
encrypted = this.toFlash;
traceText.text = encrypted;
}
send.sendAndLoad("test.php",receive,"POST");

В файле "test.php":

$fromFlash = $_POST['toPHP'];
$encrypted = $fromFlash;
$toFlash = "&toFlash=";
$toFlash .= $encrypted;
echo $toFlash;

То, что это в итоге делало, отправляло переменную в PHP, а затем снова обратно.Что идеально подходит для того, что мне нужно.Сейчас я должен быть хорошим!Надеюсь, это поможет всем, кому это нужно.

...