Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

[Erledigt] Return einer Methode wird nicht zurückgegeben

Diskussion: [Erledigt] Return einer Methode wird nicht zurückgegeben im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo, im Moment sitze ich bei einem Problem fest, dass ich mir einfach nicht erklären kann. Ich möchte, dass ...

Antwort
Alt 27.03.08, 11:03   #1 (permalink)
 
Registriert seit: 11.04.07
plumbum Leistung: Facit NTK
Likes: 0
[Erledigt] Return einer Methode wird nicht zurückgegeben

Anzeige

Hallo,

im Moment sitze ich bei einem Problem fest, dass ich mir einfach nicht erklären kann.

Ich möchte, dass eine getter-Methode eines Objektes per Return was zurückgibt.
Dies hat bisher auch ohne Probleme an anderen Stellen geklappt.
In diesem Fall jedoch nicht.

So, folgendes zum Aufbau:

Ich habe eine Index.php, die sich per require() den content der Seite holt.

Eine dieser content-Seiten heißt upload.php und liegt unterhalb des document-root

Diese verfügt über die Klasse "file", die aktuell folgendermaßen aussieht und auch per require() eingebunden wird:

PHP-Code:
 <?php
// Dateiname: file.php
// Beschreibung: ...

class file {
    
    private 
$filename "";
    private 
$filetype "";
    private 
$text "";
    private 
$cat "";
    private 
$dat 0;
    private 
$size 0;
    private 
$maxSize 0;
    
    function 
__construct($tmp_file) {
        
$this->maxSize 50000000//50MB
        
        
$this->filename $tmp_file['name'];
        
        
$splitFilename explode("."$tmp_file['tmp_name']);
        
$this->filetype $splitFilename[count($splitFilename)-1];

        
$this->size $tmp_file['size'];
        
        
$this->dat time();
        
        }
    
    public function 
getFilename() {
        
        return 
$this->filename;
        
        }
        
    public function 
getFiletype() {
    
        return 
$this->filetype;
        
        }

    public function 
getText() {
        return 
$this->text;
        }

    public function 
setText($tmp_text) {
        if(
$tmp_text != ""){
            
$this->text $tmp_text;
            return 
0;
            }
        return 
20;
        }
        
    public function 
getCat() {
        return 
$this->cat;
        }
    
    public function 
setCat($tmp_cat) {
        if(
$tmp_cat != ""){
            
$this->cat $tmp_cat;
            return 
0;
            }
        return 
20;
        }
            
    public function 
getDat() {
        return 
$this->dat;
        }
            
    public function 
getSize() {
        return 
$this->size;
        }

    }
Die Erzeugung des Objektes in der upload.php erfolgt aktuell folgendermaßen:

PHP-Code:
require("../classes/file.php");
$file = new file($_FILES['file']); 

Auf Seiten der upload.php erfolgt u.a. folgende Handlung:

PHP-Code:
echo $file->getFilename 
Letzteres bringt jedoch nichts zurück.
Innerhalb des Konstruktors erfolgt eine Zuweisung, die ich u.a. per var_dump($this->filename) geprüft habe.

Innerhalb der Methoden dieser Klasse scheinen die variablen jedoch leer zu sein.

Ich denke daher, dass das Problem in der Klasse selbst zu suchen ist. Habe jedoch keinen Plan was da schief läuft.

Zu Zwecken der besseren Übersicht habe ich die Überprüfungen der übergebenen Variablen entfernt. Auch bei dem geposteten Quelltext tritt der gleiche Effekt auf.

Nun noch kurz was zur verwendeten Server-Software:
Das ganze läuft aktuell lokal in einer xampp-Ungebung auf nem XP-Pro-Rechner.
PHP-Version: 5.2.5
Apache2


Mehr fällt mir zur Problembeschreibung aktuell nicht ein.

Ich hoffe mir kann jemand bei diesem Problem weiterhelfen.


Freundliche Grüße
plumbum ist offline   Mit Zitat antworten
Alt 27.03.08, 11:29   #2 (permalink)
Senior Member
 
Benutzerbild von Chakky
 
Registriert seit: 28.10.03
Chakky Leistung: 8086
Chakky eine Nachricht über ICQ schicken
Likes: 110
Standard

ok ich kenn mich mit den klassen nich aus aber wird normalerweise nicht eine funktion aufgerufen in der du bestimmte variabeln von "außen" brauchst folgender weise:

PHP-Code:
<?php
function test($variabel)
{
$variabel++;
return 
$variabel;
}

$a 1;
echo 
test($a);

?>
und das vermiss ich bei dir?

*kann auch sein dasdas bei klassen anders gelöst wird
__________________
cu
Chakky

we are dreaming in digital
we are living in realtime
we are thinking in binary
we are talking in IP
welcome to our world
Chakky ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 27.03.08, 11:44   #3 (permalink)
Themenstarter
 
Registriert seit: 11.04.07
plumbum Leistung: Facit NTK
Likes: 0
Standard

Hi,

wenn ich da keinen Denkfehler drin habe, dann läuft das bis dahin schon richtig.

Die Variablen, die von außen rein kommen (in diesem Fall $_FILES['file']), werden vom Konstruktor der Klasse beim Erstellen des Objekts entgegengenommen.

Das funktioniert ja auch soweit, da ich im Konstruktor die Variablen mittels var_dump() ausgeben kann.

Trotzdem danke für die Hilfe.
plumbum ist offline   Mit Zitat antworten
Alt 27.03.08, 12:19   #4 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

PHP-Code:

 
echo $file->getFilename
Falls Du wirklich so auf die Methode zugreifen willst, dann wäre es kein Wunder dass das nicht funktioniert.

PHP-Code:

 
echo $file->getFilename(); 
So sollte das ganze gehen.
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 27.03.08, 12:39   #5 (permalink)
Themenstarter
 
Registriert seit: 11.04.07
plumbum Leistung: Facit NTK
Likes: 0
Standard

autsch, war das blöd...

thx

keine Ahnung warum ich die Methode als Variable behandeln wollte, aber nun hauts natürlich hin.
plumbum ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » [Erledigt] Return einer Methode wird nicht zurückgegeben
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 aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[erledigt] Internet funktioniert nicht nach ubuntu install. dave4dead Linux/UNIX 14 07.11.09 20:48
RewriteCond greift nicht [Erledigt] VivaLosTioz (Web-) Design und webbasierte Sprachen 0 05.08.09 10:15
Bash und Tastatur arbeite nicht zusammen[erledigt] sw33tlull4by Linux/UNIX 3 24.06.09 15:23
isnummeric Return weau (Web-) Design und webbasierte Sprachen 5 08.06.08 13:12
[erledigt] Wenn OllyDbg nicht funktioniert... Mr.Yeah Hacks & Crackmes 4 19.05.08 22:22


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61