Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   может ли Flash MX 2004 работать с локальными файлами (http://www.flasher.ru/forum/showthread.php?t=52464)

_Story_ 08.12.2003 16:53

может ли Flash MX 2004 работать с локальными файлами
 
Подскажите пожалуйста, есть ли возможность у Flash (без использования других скриптов и БД на сервере) работать с локальной базой данных ? Или хотя бы с файлом хмл, лежащим напр. в локальной сети. Заранее спасибо.

opex 08.12.2003 17:08

с базой нет а вот c XML можно


почитай

XML class
Availability
Flash Player 5 (became a native object in Flash Player 6, which improved performance significantly).

Description
Use the methods and properties of the XML class to load, parse, send, build, and manipulate XML document trees.

You must use the constructor new XML() to create an XML object before calling any of the methods of the XML class.

Method summary for the XML class
Method
Description

XML.addRequestHeader()
Adds or changes HTTP headers for POST operations.

XML.appendChild()
Appends a node to the end of the specified object's child list.

XML.cloneNode()
Clones the specified node and, optionally, recursively clones all children.

XML.createElement()
Creates a new XML element.

XML.createTextNode()
Creates a new XML text node.

XML.getBytesLoaded()
Returns the number of bytes loaded for the specified XML document.

XML.getBytesTotal()
Returns the size of the XML document, in bytes.

XML.hasChildNodes()
Returns true if the specified node has child nodes; otherwise, returns false.

XML.insertBefore()
Inserts a node in front of an existing node in the specified node's child list.

XML.load()
Loads a document (specified by the XML object) from a URL.

XML.parseXML()
Parses an XML document into the specified XML object tree.

XML.removeNode()
Removes the specified node from its parent.

XML.send()
Sends the specified XML object to a URL.

XML.sendAndLoad()
Sends the specified XML object to a URL and loads the server response into another XML object.

XML.toString()
Converts the specified node and any children to XML text.


Property summary for the XML class
Property
Description

XML.contentType
Indicates the MIME type transmitted to the server.

XML.docTypeDecl
Sets and returns information about an XML document's DOCTYPE declaration.

XML.firstChild
Read-only; references the first child in the list for the specified node.

XML.ignoreWhite
When set to true, text nodes that contain only white space are discarded during the parsing process.

XML.lastChild
References the last child in the list for the specified node.

XML.loaded
Read-only; checks if the specified XML object has loaded.

XML.nextSibling
Read-only; references the next sibling in the parent node's child list.

XML.nodeName
The node name of an XML object.

XML.nodeType
The type of the specified node (XML element or text node).

XML.nodeValue
The text of the specified node if the node is a text node.

XML.parentNode
Read-only; references the parent node of the specified node.

XML.previousSibling
Read-only; references the previous sibling in the parent node's child list.

XML.status
A numeric status code indicating the success or failure of an XML document parsing operation.

XML.xmlDecl
Specifies information about a document's XML declaration.


Collections summary for the XML class
Method
Description

XML.attributes
Returns an associative array containing all of the attributes of the specified node.

XML.childNodes
Read-only; returns an array containing references to the child nodes of the specified node.


Event handler summary for the XML class
Event handler
Description

XML.onData
An event handler that is invoked when XML text has been completely downloaded from the server, or when an error occurs downloading XML text from a server.

XML.onLoad()
An event handler that returns a Boolean value indicating whether the XML object was successfully loaded with XML.load() or XML.sendAndLoad().


Constructor for the XML class
Availability
Flash Player 5.

Usage
new XML([source])

Parameters
source The XML text parsed to create the new XML object.

Returns
Nothing.

Description
Constructor; creates a new XML object. You must use the constructor to create an XML object before calling any of the methods of the XML class.

Note: The createElement() and createTextNode() methods are the "constructor" methods for creating the elements and text nodes in an XML document tree.

Example
Usage 1: The following example creates an new, empty XML object.

my_xml = new XML();

Usage 2: The following example creates an XML object by parsing the XML text specified in the source parameter, and populates the newly created XML object with the resulting XML document tree.

anyOtherXML = new XML("<state>California<city>san francisco</city></state>");

See also
XML.createElement(), XML.createTextNode()

_Story_ 08.12.2003 18:16

Спасибо
 
Большое спасибо за ответ.. я попробую. Получается, при создании хмл объекта можно указывать путь к файлу вместо урла, и он будет подхватывать существующий файл?

Geniot 08.12.2003 18:54

Да. А лучше положить xml файл в ту же папку, где и основной swf и использовать относительные пути, напр. "myxmlfile.xml" или "xmlfolder/myxmlfile.xml"

Вообще, конечно, безобразие, разработали такой продукт, толкают его как standalone, а в нём даже нельзя напрямую обратиться к серверу базы данных, запущенному на локалке или ещё где.
Для этого им бы пришлось написать драйвер, типа ODBC.

_Story_ 08.12.2003 19:17

>>Да. А лучше положить xml файл в ту же папку, где и >>основной swf и использовать относительные пути, >>напр. "myxmlfile.xml" или "xmlfolder/myxmlfile.xml"

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


>>Вообще, конечно, безобразие, разработали такой продукт, >>толкают его как standalone, а в нём даже нельзя напрямую >>обратиться к серверу базы данных, запущенному на >>локалке или ещё где.
>>Для этого им бы пришлось написать драйвер, типа ODBC.

Ну что уж поделаешь .. они в общем то не для работы с БД создавали продукт, их дело.
Я пыталась разбираться с компонентами новыми типа RDBMSResolver и DataSourse, как они пишут - могут работать с внешними источниками данных.. Насколько я поняла это все тоже только через сервер посредством передачи хмл пакетов с указанием что делать и последующей их генерации в SQL

Geniot 08.12.2003 20:01

Ситуация начинает проясняться.
Я бы сделал так: скачал бы phpdev5 и установил бы у себя на локалке Apache, php, MySQL одним махом.
Затем я бы скачал amfphp - php remoting для взаимодействия flash с MySQL и воспользовался бы примером, где флэш получает ответ из базы данных.
ВСЁ
Почти никакого программирования на php (нужно лишь почитать документацию amfphp и переделать методы, немного переделать SQL запросы). =) Если будут проблемы, кидай мне на мыло slounik@slounik.com описание взаимодействия с базой данных, так уж и быть напишу SQL и подправлю php сервис.
После этого во флэше можно легко вызывать методы php, передавая им аргументы, почти незадумываясь о том, что происходит.

>RDBMSResolver и DataSourse
Эти тоже через flash remoting работают. Классное решение есть на яве. Лично я бы написал взаимодействие с базой данных на яве, но тебе советую воспользоваться amfphp, потому что ява - это целая отдельная страна, раз в 100-200 больше чем какой-то там скриптовый ActionScript.

Твоё решение по-моему не подойдёт, потому что xml файлы не смогут "собираться" с компов, флэш не может писать файлы на диск (кроме там какого то SharedObject), а тем более на чужой комп, это вообще святотатство.

_Story_ 08.12.2003 20:26

Спасибо за ответ !
Все, вы меня почти уговорили) пхп, скл, апач все стоит. осталось найтит amfphp , 1й раз о таком слышу ..
не подскажете где его взять ???


>Почти никакого программирования на php (нужно лишь >почитать документацию amfphp и переделать методы, >немного переделать SQL запросы). =) Если будут проблемы, >кидай мне на мыло slounik@slounik.com описание >взаимодействия с базой данных, так уж и быть напишу SQL и >подправлю php сервис.
>После этого во флэше можно легко вызывать методы php, >передавая им аргументы, почти незадумываясь о том, что >происходит.

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


>Твоё решение по-моему не подойдёт, потому что xml файлы >не смогут "собираться" с компов, флэш не может писать >файлы на диск (кроме там какого то SharedObject), а тем >более на чужой комп, это вообще святотатство.

почему нет .. если там есть методы создания хмл узла .. или он узел только в объектре создает , а в файл не пишет?

Geniot 08.12.2003 20:48

http://www.amfphp.org/
http://prdownloads.sourceforge.net/a...0.zip?download - даунлоуд

>насчет "никакого программирования", это как) мне ведь >нужен как минимум скрипт который будет добавлять запись в >базу с переданными параметрами, потом, который будет >осуществлять поиск на предмет нет ли уже такой записи в >бд, и если есть апдейтить ее с новыми параметрами... что то >такое
Проверку на наличие можно делать во флэше, метод в пхп будет возвращать или не возвращать результат из базы данных. А ещё лучше написать правильный SQL запрос, который будет добавлять запись, если её нет, и апдейтить её если определённый филд совпадает с посылаемой записью.
В документации и примерах по amfphp всё классно расписано, а почитав пример, можно и без знания php написать то, что тебе нужно.

>почему нет .. если там есть методы создания хмл узла .. или >он узел только в объектре создает , а в файл не пишет?
Создаёт xml объект, может _посылать/передавать его другому приложению/скрипту. Но писать на диск не может. Security policy и всё тут.
Кстати, amfphp в качестве типов передаваемых аргументов поддерживает XML. amfphp сериализует передаваемые объекты, то есть, раскладывает их в определённый формат, может сохранять в базу данных, потом забирать и десериализовать. Во как сказал!

_Story_ 09.12.2003 17:04

ок, тогда пока все ) спасибо большое !


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

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