Основная идея: У меня есть флэш-файл, который делает снимки экрана одним нажатием кнопки, отправляет данные в файл 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, а затем снова обратно.Что идеально подходит для того, что мне нужно.Сейчас я должен быть хорошим!Надеюсь, это поможет всем, кому это нужно.