Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   ActionScript+PHP отправка и сохранение файла (http://www.flasher.ru/forum/showthread.php?t=143788)

diebytry 25.08.2010 19:33

ActionScript+PHP отправка и сохранение файла
 
Добрый день.
Необходимо написать скрипт отправляющий файл на сервер и сохраняющий его пхп скиптом.
Проблема в том, что мой с крипт работает на моем локальном хосте, а когда пытаюсь сделать тоже самое, но уже на удаленном сервере, уже ничего не получается.

Мой АС скрипт для локалки:
Код AS3:

ploadMsg.visible = false;
var URLrequest:URLRequest = new URLRequest("http://localhost/uploader.php");
var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");
var textTypes:FileFilter = new FileFilter("Text Files (*.txt, *.rtf)", "*.txt; *.rtf");
var allTypes:Array = new Array(imageTypes, textTypes);
var fileRef:FileReference = new FileReference();
fileRef.addEventListener(Event.SELECT, syncVariables);
fileRef.addEventListener(Event.COMPLETE, completeHandler);
fileRef.addEventListener(ProgressEvent.PROGRESS, progressHandler);
browse_btn.addEventListener(MouseEvent.CLICK, browseBox);
upload_btn.addEventListener(MouseEvent.CLICK, uploadVars);
 
function browseBox(event:MouseEvent):void {
fileRef.browse(allTypes);
}
 
function uploadVars(event:MouseEvent):void {
uploadMsg.visible = true;
fileRef.upload(URLrequest);
upload_btn.visible = false;
}
 
function syncVariables(event:Event):void {
fileDisplay_txt.text = "" + fileRef.name;
blocker.visible = false;
upload_btn.visible = true;
progressBar.width = 2;
var variables:URLVariables = new URLVariables();
variables.todayDate = new Date();
URLrequest.method = URLRequestMethod.POST;
URLrequest.data = variables;
 
function ioErrorHandler1(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
}
 
function completeHandler(event:Event):void {
uploadMsg.visible = false;
blocker.visible = true;
status_txt.text = fileRef.name + " успешно загружен.";
fileDisplay_txt.text = "";
 
function ioErrorHandler1(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
}
 
function progressHandler(event:ProgressEvent):void {
progressBar.width = Math.ceil(200*(event.bytesLoaded/event.bytesTotal));
}

Мой ПХП скрипт для локалки :
PHP код:

<?php

$f
='/.../aaa.jpg';
$s='/.../bbb.txt';
$todayDate $_POST['todayDate']; 
$filename $_FILES['Filedata']['name']; 
$filetmpname $_FILES['Filedata']['tmp_name']; 
$fileType $_FILES["Filedata"]["type"]; 
$fileSizeMB = ($_FILES["Filedata"]["size"] / 1024 1000); 
move_uploaded_file($_FILES['Filedata']['tmp_name'],$f);
$myFile "$s"
$fh fopen($myFile'a') or die("can't open file");
$stringData "\n\ntodayDate: $todayDate \n FileName: $filename \n TmpName: $filetmpname \n Type: $fileType \n Size: $fileSizeMB MegaBytes";
fwrite($fh$stringData); 
fclose($fh); 

?>

Скрипты для удаленного серва такие же. Отличается только путь к пхп файлу в асе и путь для сохранения в пхп скрипте.
Пхп скрипт на удаленном сервере включается, но почему то не получает входящую информацию.
Пути указаны правильно. Атрибуты к папкам и файлам установлены правильно, размер загружаемых файлов соответствует требованиям сервера.
Никак не могу понять в чем проблема. Подскажите пожалуйста.

e_gamer 25.08.2010 19:43

Security.loadPolicyFile('путь до crossdomain.xml');

diebytry 26.08.2010 04:30

Создал хмл файл на сервере с кодом
Код:

<?xml version="1.0" encoding="utf-8"?>
<cross-domain-policy>
    <allow-access-from domain="*" />
</cross-domain-policy>

И добавил соответствующие строки в ас.
Файл все равно не грузится.

e_gamer 26.08.2010 09:56

Поставь отладку в серверный скрипт (например, запись информации о $_FILES,загружает ли файл, может ли открыть директорию).

Посмотри что отправляется клиентом.

Т.е. как я понял любой файл всегда будет складываться в aaa.jpg?

diebytry 26.08.2010 17:28

Цитата:

Сообщение от e_gamer (Сообщение 931442)
Т.е. как я понял любой файл всегда будет складываться в aaa.jpg?

Да.
Стал смотреть в тхт файле инфу о $_FILES
Вот это выдает,когда на локалке пробую
Код:

FileName c.jpg 
Tmpname  C:\WINDOWS\TEMP\phpC1.tmp
Size 0.06562890625 MegaBytes 
Error 0

При отсылке на сервер выдает:
Код:

FileName   
Tmpname
Size 0 MegaBytes 
Error

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

diebytry 31.08.2010 15:40

Всем спасибо за внимание. Разобрался.
Проблема была в сервере (http код 302).
Дописал .htaccess . Заработало все.


Часовой пояс GMT +4, время: 02:32.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.