Zurück   Flashforum > Flash und Server > Flash und Datenbanken

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-10-2010, 12:13   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2010
Beiträge: 178
Bild Groesse Mit PHP Ermitteln - Geht Nicht

hi,

habs folgender problem

ich lade per flash filerefelence ein bild und schreibe der bild name in xml.
nun wollte ich der script so erweitern, dass ich auch der bild breite in xml schreiben kann, was leider nicht klappt.
sobald ich ein bild mit vor definierter name uploade klappt, aber wenn ich der name beim upload ändere, um doppelte bild upload zu verhindern, klappt es nicht mehr.


und so sieht mein php aus
PHP-Code:
<?php

    $flashVar1 
$_POST ['bild'];  
            
    
$meinXML "xm.xml";             
    
$content "root";                         
    
$sub_content "subknote";                     

    
$BildOrdner="bilder/";     
    
    
$bild time() . ".jpg";
        
    
$bild_pfad $BildOrdner.$bild;
    
    
move_uploaded_file($_FILES['Filedata']['tmp_name'], $bild_pfad);

    
$bild_grossegetimagesize($_FILES['Filedata']['tmp_name']);
    
$bild_breite=$bild_grosse[0];
    
$bild_hoehe=$bild_grosse[1];


    
$xml_unter_knoten = array("bilder""bildbreite"); 

    if(!
file_exists($meinXML)) {
        
$dom = new DOMDocument("1.0","UTF-8");        
        
$dom->formatOutput true;                            
        
$dom->preserveWhiteSpace false;
        
$root $dom->createElement($content);                
        
$root $dom->appendChild($root);                    
    }
    
    if(!isset(
$dom)) {
        
$dom = new DOMDocument();
        
$dom->formatOutput true;                            
        
$dom->preserveWhiteSpace false;
        
$dom->load($meinXML);
        
$root $dom->documentElement
    }

    
$node $dom->createElement($sub_content); 
    
$node $root->appendChild($node); 
    
    
$subNode $dom->createElement($xml_unter_knoten[0]);
    
$node->appendChild($subNode); 
    
$bildKnote $dom->createTextNode($bild_pfad); 
    
$subNode->appendChild($bildKnote); 

    
$subNode $dom->createElement($xml_unter_knoten[1]);
    
$node->appendChild($subNode); 
    
$bildKnote2 $dom->createTextNode($bild_breite); 
    
$subNode->appendChild($bildKnote2);  

    
    if(isset(
$_POST[okkk])){ 
    if(
$dom->save($meinXML)){
        echo 
"&Erstellt = OK";
    }else{
        echo 
"&Erstellt = ERROR";
    }
}

?>
wo liegt mein fehler?
bild breite wird nicht in xml geschrieben.
beto2010 ist offline   Mit Zitat antworten
Alt 01-10-2010, 13:28   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Warum erstellst du für deine Bildbreite einen komplett neuen Knoten? Einfacher wäre es doch wenn das nur ein Attribut deines Links ist:
Code:
<bild breite="1024" hoehe="768">
     http://www.server.de/sample/sampleimg.jpg
</bild>
Ich hab mich grad etwas durch deinen Code gearbeitet, werde da aber nicht ganz schlau draus. Du erstellst da Knoten welche du offensichlich gar nicht brauchst? Könntest du bitte die fertig generierte XML zeigen?
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 01-10-2010, 14:50   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2010
Beiträge: 178
Zitat:
Zitat von Nightflyer Beitrag anzeigen
Warum erstellst du für deine Bildbreite einen komplett neuen Knoten? Einfacher wäre es doch wenn das nur ein Attribut deines Links ist:
Code:
<bild breite="1024" hoehe="768">
     http://www.server.de/sample/sampleimg.jpg
</bild>
Ich hab mich grad etwas durch deinen Code gearbeitet, werde da aber nicht ganz schlau draus. Du erstellst da Knoten welche du offensichlich gar nicht brauchst? Könntest du bitte die fertig generierte XML zeigen?


sicherlich gibt es bessere und elegantere lösungen nur bin noch anfänger was an php und flash angeht.

erstellung der xml knoten wird bei ersten ausführen ist ok aber dann nicht mehr, hast du recht

beim erste ausführen
PHP-Code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <subknote>
    <bilder>bilder/1285941065.jpg</bilder>
    <bildbreite></bildbreite>
  </subknote>
</root>

danach
PHP-Code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <subknote>
    <bilder>bilder/1285941065.jpg</bilder>
    <bildbreite/>
  </subknote>
  <subknote>
    <bilder>bilder/1285941073.jpg</bilder>
    <bildbreite></bildbreite>
  </subknote>
</root>
es wird nicht breite der aktuell hochgeladene bild ermittelt bzw. in xml geschrieben.
deswegen wird nachdem erste ausführen, wird die knoten nicht richtig benutz

Geändert von beto2010 (01-10-2010 um 14:53 Uhr)
beto2010 ist offline   Mit Zitat antworten
Alt 01-10-2010, 16:06   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Nun, wie du deine XML erstellst musst du selber wissen, solange es funktioniert und nur du damit arbeitest ist es ja ok

Zu deinem Problem: DEBUGGING

Um Fehler zu finden ist es wichtig Informationen aus dem Script an verschiedenen Stellen auszugeben. Normalerweise passiert das durch echo, da du die PHP allerdings über Flash aufrufst ist das nicht möglich. Eine Option ist daher entweder trigger_error() zu benutzen und den Fehler im Server-Fehlerlog nachzuschauen oder aber die Informationen in eine leere Textdatei zu schreiben. Kannst du machen wie du willst.

Interessieren dürfte dich vorallem
$bild_breite=$bild_grosse[0];
$bild_hoehe=$bild_grosse[1];
Wird da der richtige Wert gespeichert? Falls dein ist wohl $_FILES['Filedata']['tmp_name'] unzulässig und dann solltest du da einfach $bild_pfad einsetzen.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 01-10-2010, 20:27   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2010
Beiträge: 178
Zitat:
Zitat von Nightflyer Beitrag anzeigen
Nun, wie du deine XML erstellst musst du selber wissen, solange es funktioniert und nur du damit arbeitest ist es ja ok

Zu deinem Problem: DEBUGGING

Um Fehler zu finden ist es wichtig Informationen aus dem Script an verschiedenen Stellen auszugeben. Normalerweise passiert das durch echo, da du die PHP allerdings über Flash aufrufst ist das nicht möglich. Eine Option ist daher entweder trigger_error() zu benutzen und den Fehler im Server-Fehlerlog nachzuschauen oder aber die Informationen in eine leere Textdatei zu schreiben. Kannst du machen wie du willst.

Interessieren dürfte dich vorallem
$bild_breite=$bild_grosse[0];
$bild_hoehe=$bild_grosse[1];
Wird da der richtige Wert gespeichert? Falls dein ist wohl $_FILES['Filedata']['tmp_name'] unzulässig und dann solltest du da einfach $bild_pfad einsetzen.


duch diese prüfung siehe da es geht

PHP-Code:
if (isset($_FILES['Filedata']) and ! $_FILES['Filedata']['error']) {
::
::

beto2010 ist offline   Mit Zitat antworten
Alt 02-10-2010, 15:25   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2010
Beiträge: 178
habs immer wieder hürden zu bewältigen

nun habe ein problem das ich nicht verstehe
habs zu script ein neues xml knote hinzugefügt, um acuh ein beliebige bild an bild zugeben.
der bild name übergebe mit sendAndLoad an php


und so sieht nun mein php aus
PHP-Code:
<?php

if (isset($_FILES['Filedata']) and ! $_FILES['Filedata']['error']) { 

    
$flashVar1 $_POST ['bildname'];  
            
    
$meinXML "xm.xml";             
    
$content "root";                         
    
$sub_content "subknote";                     

    
$BildOrdner="bilder/";     
    
    
$bild $flashVar1 ".jpg";
        
    
$bild_pfad $BildOrdner.$bild;
    
    
move_uploaded_file($_FILES['Filedata']['tmp_name'], $bild_pfad);

    
$bild_grossegetimagesize($_FILES['Filedata']['tmp_name']);
    
$bild_breite=$bild_grosse[0];
    
$bild_hoehe=$bild_grosse[1];


    
$xml_unter_knoten = array("bilder""bildbreite""bildname"); 

    if(!
file_exists($meinXML)) {
        
$dom = new DOMDocument("1.0","UTF-8");        
        
$dom->formatOutput true;                            
        
$dom->preserveWhiteSpace false;
        
$root $dom->createElement($content);                
        
$root $dom->appendChild($root);                    
    }
    
    if(!isset(
$dom)) {
        
$dom = new DOMDocument();
        
$dom->formatOutput true;                            
        
$dom->preserveWhiteSpace false;
        
$dom->load($meinXML);
        
$root $dom->documentElement
    }

    
$node $dom->createElement($sub_content); 
    
$node $root->appendChild($node); 
    
    
$subNode $dom->createElement($xml_unter_knoten[0]);
    
$node->appendChild($subNode); 
    
$bildKnote $dom->createTextNode($bild_pfad); 
    
$subNode->appendChild($bildKnote); 

    
$subNode $dom->createElement($xml_unter_knoten[1]);
    
$node->appendChild($subNode); 
    
$bildKnote2 $dom->createTextNode($bild_breite); 
    
$subNode->appendChild($bildKnote2);  

    
$subNode $dom->createElement($xml_unter_knoten[2]);
    
$node->appendChild($subNode); 
    
$bildKnote3$dom->createTextNode($flashVar1); 
    
$subNode->appendChild($bildKnote3);  
       
    if(isset(
$_POST[okkk])){ 
        if(
$dom->save($meinXML)){
            echo 
"&Erstellt = OK";
        }else{
            echo 
"&Erstellt = ERROR";
        }
    }

}
?>

es wird zwar der bild uploaded, aber übernimmt kein neue name, es wird lediglieg unter .jpg name gespeicher.
es wird auch nicht xml erstellt.

wenn ich aber nun so mache

PHP-Code:
if(isset($_POST[okkk])){ 
::
::
// alle andere code
::
::

dann bild wird nicht uploaded, aber xml datei wird teilweise erstellt
PHP-Code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <subknote>
    <bilder>bilder/a.jpg</bilder>
    <bildbreite></bildbreite>
    <bildname>a</bildname>
  </subknote>
</root>

wie kann ich diese bei überprüfungen gemeinsam ausführen, damit sowohl der bild uploaded wird und auch xml datei richtig erstellt wird.

PHP-Code:
if (isset($_FILES['Filedata']) and ! $_FILES['Filedata']['error']) { 
::

    if(isset(
$_POST[okkk])){ 
    :: 
    :: 
    } 


beto2010 ist offline   Mit Zitat antworten
Alt 03-10-2010, 00:18   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2010
Beiträge: 178
folgender masse sende ich daten an php

PHP-Code:
submit.onPress = function(){
    if(
bildName.text != ""){
        
myData.BildName bildName.text;
        
myData.sendAndLoad ("myPHP.php" myData "POST" );
        
meinBild.upload("myPHP.php");
    }

also zweimal daten an gleiche php datei, einmal um bild zu uploaden und um xml mit entsprechender daten zu erstellen.
nur leider wird der xml nicht so erstellt wie es sein soll.



wenn diese prüfung weg lasse, wird bild uploaded, aber zweimal php ausgeführ und doppelt inhalt in xml geschrieben.

PHP-Code:
if (isset($_FILES['Filedata']) and ! $_FILES['Filedata']['error']) {
::
::


wie kann ich das problem umgehen?
beto2010 ist offline   Mit Zitat antworten
Alt 03-10-2010, 08:12   #8 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Zuerst mal die Frage welche Flashversion du überhaupt hast, da hat sich nämlich in dieser Hinsicht viel getan?

Lade erst das Bild hoch und erstelle dann die XML mit deinen Daten
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 03-10-2010, 11:26   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2010
Beiträge: 178
Zitat:
Zitat von Nightflyer Beitrag anzeigen
Zuerst mal die Frage welche Flashversion du überhaupt hast, da hat sich nämlich in dieser Hinsicht viel getan?

Lade erst das Bild hoch und erstelle dann die XML mit deinen Daten
ich benutze flash 8.

ja einzel klappt es auch alles soweit gut.

das problem bzw. was ich nicht weiss wie ich script zum upload und beschreibung der xml ausführen kann.
beto2010 ist offline   Mit Zitat antworten
Alt 03-10-2010, 13:28   #10 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Flash 8 Tutorial: How to create a file upload application using the FileReference API
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 03-10-2010, 16:06   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2010
Beiträge: 178
upload an sich ist nicht mein problem.

mein problem ist, dass ich der script zum upload und erstellung der xml in einem php ist. und ich weiss nicht wie ich den php sagen kann ok, du hast zwei aufgaben, zum ersten muss du bild uploaden & merke dir der bild name.
zum zweiten erstellst du xml datei mit entsprechender daten.

quasi brauche ich ein überprufung, der schaut ob bild file & bildname an php kommt.

einzeln wenn ich durchführe klappt ja auch.
aber gemeinsamm nicht
beto2010 ist offline   Mit Zitat antworten
Alt 03-10-2010, 19:39   #12 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Such mal nach FileReference.postData.
Damit kannst du weitere Werte per POST an das PHP-Skript senden.
Die Handhabung ist aber eher unpraktisch.
Also ist es geschickter, wie Nightflyer glaub ich schon angedeutet hat, erst das Bild hochzuladen und dann alles weitere zu speichern.
Kannst ja auch 2 PHP-Skripte dafür verwenden …
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 03-10-2010, 19:49   #13 (permalink)
Neuer User
 
Registriert seit: Aug 2010
Beiträge: 178
Zitat:
Zitat von sonar Beitrag anzeigen
Such mal nach FileReference.postData.
Damit kannst du weitere Werte per POST an das PHP-Skript senden.
Die Handhabung ist aber eher unpraktisch.
Also ist es geschickter, wie Nightflyer glaub ich schon angedeutet hat, erst das Bild hochzuladen und dann alles weitere zu speichern.
Kannst ja auch 2 PHP-Skripte dafür verwenden …
ja das wollte ich es, aber was mache ich bzw. wie umgehe ich, wenn jemand vorher bild geladen hat, kein event zum speichern der daten aufruft?
beto2010 ist offline   Mit Zitat antworten
Alt 03-10-2010, 20:15   #14 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Sorry ich versteh dich nicht … was möchtest du bzw. was möchtest du umgehen..?
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 03-10-2010, 23:00   #15 (permalink)
Neuer User
 
Registriert seit: Aug 2010
Beiträge: 178
Zitat:
Zitat von sonar Beitrag anzeigen
Sorry ich versteh dich nicht … was möchtest du bzw. was möchtest du umgehen..?
dann brauche ich doch quasi zwei butto, einmal um upload vorgang zustarten.
zum zweiten um xml mit daten zu schreiben.

ich meinte was ist wenn ich erst bild upload button klicke aber kein button zum speichern der daten klicke? somit habe ich bild uploadet aber nich in xml geschrieben?

es sei denn habe ich nicht richtig verstanden?
beto2010 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bild in MovieClip: Wieso geht das so nicht? Deblu ActionScript 2 2 20-09-2009 10:47
Bild aus externer quelle geht nicht rein FreeFlow Flash Einsteiger 5 01-07-2008 10:55
bild _blank laden geht nicht tantchen Flash Einsteiger 3 16-06-2007 15:33
1 Bild geht, 59 nicht ->lol radauzen Flash Einsteiger 6 06-07-2006 23:17
loop zum bild ausfaden - geht nicht kendal ActionScript 1 1 17-02-2004 14:22


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

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


Copyright ©1999 – 2012 Marc Thiele