Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-02-2006, 13:34   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
PHP-Funktion aufrufen

Hallo Forum,
schraube schon den ganzen Tag an dieser Sache rum und es will mir einfach nicht von der Hand gehen... Benötige Eure Hilfe!

Diesen Funktionsaufruf würde ich gerne für as umschreiben:
PHP-Code:
<?
$path 
"./"// vom Pfad der aktuellen Datei ausgehen
$size dir_size($path);
echo 
"<p>Der Ordner $path belegt insgesamt $size Bytes.</p>";
?>
Hier mein Ansatz:
PHP-Code:
var path './';
var 
size "dir_size($path)";
var 
lv = new LoadVars();
lv.send1 path;
lv.send2 size;
lv.onLoad = function(ok) {
    if (
ok) {
        
trace(this.size);
    }
};
lv.sendAndLoad('readdir.php'lv'POST'); 
Hier noch die Funktion, die aufgerufen werden soll
PHP-Code:
<?
function dir_size($dir$size 0) {
    
$handle opendir($dir);
    while (
$file readdir($handle)) {
        if (
$file == '.' || $file == '..') continue;
        
$path $dir.$file;
        if (
is_dir($path)) {
            
$size dir_size($path.'/'$size);
        } else {
            
$size += filesize($path);
        }
    }
    
closedir($handle);
    return 
$size;
    echo 
$size
}
?>
Gruß,
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 01-02-2006, 13:48   #2 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Kommt darauf an, wieviele andere Funktionen, du noch in diesem File ausführen will! Wenn es mehrer sind, mit ner Switch-Abfrage arbeiten und Nummer für die entsprechende Funktion übergeben! Wenn nur diese Funktion ist, so:
PHP-Code:
//AS:
var path = './'; 
var lv = new LoadVars(); 
lv.send1 = path; 
lv.onLoad = function(ok) { 
    if (ok) { 
        trace(this.size); 
    } 
}; 
lv.sendAndLoad('readdir.php', lv, 'POST');  
//________________________________
<?php
$path 
$_POST['path'];
dir_size($path);
function 
dir_size($dir$size 0) { 
    
$handle opendir($dir); 
    while (
$file readdir($handle)) { 
        if (
$file == '.' || $file == '..') continue; 
        
$path $dir.$file
        if (
is_dir($path)) { 
            
$size dir_size($path.'/'$size); 
        } else { 
            
$size += filesize($path); 
        } 
    } 
    
closedir($handle); 
    echo 
$size 
}
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 01-02-2006, 14:04   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
@ bamboocha,
Danke, probier ich gleich aus. *aufServerUpload*
Gegebenenfalls meld ich mich wieder.

Bis denn,
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 01-02-2006, 14:19   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
bekomme lediglich ein undefind zurück....
PHP-Code:
...
lv.onLoad = function(ok) { 
    if (
ok) { 
        
trace(this.size);
        
ausgabe.text size+" Bytes";
    } 
}; 
Liegt vielleicht daran?
PHP-Code:
echo $size 
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 01-02-2006, 14:21   #5 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Joa, da fehlt noch ein ";"!
PHP ist auf sowas ganz allergisch! Dann gibts n'Parse-Error und keine Variable wird zurückgegeben!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 01-02-2006, 14:42   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
sorry, auch mit ";" bleibts weiter undefined.
Das PHP wird auf jeden Fall richtig aufgerufen. Hab mich hiermit rückversichert:
PHP-Code:
getURL("javascript:alert('PHP GELADEN')"); 
Hast Du noch'ne Idee?

Chris
*perplex* ist offline   Mit Zitat antworten
Alt 01-02-2006, 14:43   #7 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Ach klar! *depp*

PHP-Code:
echo "&size=".$size
So dürfte es nun endlich funktionieren!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 01-02-2006, 14:58   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
habs eingebaut und getestet. Immer noch nix. Muss noch irgend was andres falsch sein... aber was?

hier mal mein Link.

Nochmals Danke für Deine Hilfe.
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 01-02-2006, 15:06   #9 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Das Alert sagt nix aus, da es ja von Flash aus aufgerufen wird! Könnte evtl. an der geschützten Variable "size" liegen!?
Wähl mal nen anderen Namen (auch in PHP bei echo "&name" austauschen!).
Ansonsten kannst du im PHP mal alle $_POST durch $_REQUEST ersetzen und das ganze mal so aufrufen:
PHP-Code:
getURL("readdir.php?path="+path"_blank"); 
Wenn dann "&dirsize=178" oder sowas ähnliches angezeigt wird... Weisst du, dass in Flash was faul ist!
__________________
There is no way to happiness, happiness is the way! - Buddha

Geändert von bamboocha (01-02-2006 um 15:08 Uhr)
bamboocha ist offline   Mit Zitat antworten
Alt 01-02-2006, 15:20   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Hi bamboocha,

in dem "Blanko-Fenster" bekomm ich folgendes angezeigt:
PHP-Code:
&groesse=0&string=350 
Wenn die Geschichte funktionieren würde sollte da z.B. "LOADING 350 / 4803 Bytes" stehen, wobei der letzte Wert jetzt fiktiv ist.
PHP gibt "0" zurück --> die funktion dir_size läuft vielleicht so überhaupt nicht...?
PHP gibt den string aus, welcher aber nicht in Flash angezeigt wird --> Fazit: kA
Wär's sinnvoller die Variablen global zu übergeben?

Geändert von *perplex* (01-02-2006 um 16:07 Uhr)
*perplex* ist offline   Mit Zitat antworten
Alt 01-02-2006, 16:00   #11 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Hab gerade noch das PHP-Script ergänzt:
PHP-Code:
echo "<p>Der Ordner $path belegt insgesamt $groesse Bytes.</p>"
Das Blanko-Fenster gibt mir folgendes zurück:
PHP-Code:
Der Ordner belegt insgesamt 0 Bytes
Ähhh.......... falsche Pfad-Angabe?

EDIT: jo, war ein Pfadproblem, so klappts:
PHP-Code:
$GLOBALS[path]; 
Allerdings werden die Variablen groesse und string nicht nach Flash übergeben. Woran liegts?
please help,
Chris

Geändert von *perplex* (01-02-2006 um 16:25 Uhr)
*perplex* ist offline   Mit Zitat antworten
Alt 01-02-2006, 16:39   #12 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 283
Das liegt sicher daran, das bei mehreren aneinandergereihten Variablen ein abschliessendes '&' vorhanden sein sollte.
Dein echo sollte also so aussehen:
PHP-Code:
echo '&size='.$size.'&string='.$string.'&' 
__________________
ein mensch ohne macke ist kacke...
DaKinel ist offline   Mit Zitat antworten
Alt 01-02-2006, 16:43   #13 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Hallo DaKinel,

hab das aber bei mir folgendermaßen drin stehen:
PHP-Code:
echo "&size=".$size;
echo 
"&string=".$string
Macht das nen Unterschied?

Gruß,
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 01-02-2006, 16:51   #14 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 283
macht keinen Unterschied
PHP-Code:
 echo "&size=".$size
 echo 
"&string=".$string;
 echo 
"&"
__________________
ein mensch ohne macke ist kacke...
DaKinel ist offline   Mit Zitat antworten
Alt 01-02-2006, 17:04   #15 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Habs eingebaut. Kann aber daran nicht liegen. Hier noch mal der Link.

Gruß,
Chris
*perplex* ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele