Ankündigung

Einklappen
Keine Ankündigung bisher.

Upload Syntax als "Klasse"?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Upload Syntax als "Klasse"?

    Hiho liebe PHP Freunde,

    ich hab' mal 'ne typische Anfängerfrage!
    Ich habe mir eine PHP "Funktion" für einen Dateiupload geschrieben.
    Diese würde ich jetzt gerne in eine Klasse verwandeln und dann nur noch im Upload Formular aufrufen lassen.

    Hier mal die PHP Funktion:
    PHP-Code:
    <?php
            
    echo '<pre>';
        
    print_r($_FILES);
        echo 
    '</pre>';
        echo 
    '<hr/>';
        if (isset(
    $_FILES['bild'])){
            
    $datei $_FILES['bild'];
            if (
    $datei['type'] == 'image/jpeg'){
                
    copy($datei['tmp_name'], 'bilder/' $datei['name']);
                echo 
    "<img src='bilder/{$datei['name']}' width='200' />";
            }else{
                echo 
    'Nur jpeg-Bilder erlaubt!';
            }
        }else{
            echo 
    '<em>Kein Bild gewählt</em>';
        }
    ?>
    Kann ich jetzt, einfach, eine "klasse_upload" erstellen und den Code unter
    PHP-Code:
    function upload 
    einfügen?
    Das wär' ja dann auch 'ne Klasse, oder ?


  • #2
    Anscheinend hast du den Sinn von Klassen / Funktionen noch nicht verstanden.

    =>
    Wäre vllt net schlechtw enn du Parameter wie
    $file, $name usw. usw. übergibst.
    cu
    Grüße
    Destruction
    "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

    Kommentar


    • #3
      und statt copy würd ich move_uploaded_file verwenden ....
      und dein print_r würd ich auch noch raus nehmen ^^
      und bei deinem bild, dass du nach dem upload anzeigst würd ich vorher und nached die {} wegnehmen ...
      folgendermaßen deklariert man eine klasse:
      PHP-Code:
      class upload {
           public function 
      start$name ) {
                
      // Hier verarbeitest du den upload .... also dein Quellcode ....
           
      }

      PHP-Code:
      if ( $humans >= ) {
         
      war ();

      Kommentar


      • #4
        Ok, danke für die schnellen Antworten

        Kommentar


        • #5
          Hallo,

          grundsätzlich kannst du natürlich nicht nur "greifbare" Objekte deiner Anwendung in Klassen verpacken (User, Guestbook, ..), sondern natürlich auch Aktionen, wozu ein Dateiupload natürlich auch gehören kann.

          Dazu musst du dir zunächst überlegen, welche Parameter Einfluß auf einen Upload haben. Dazu gehört sicherlich der $_FILES-Array (wobei wir es dann nicht nur mit einem einzelnen Dateiupload zu tun haben), aber es gehört auch ein Zielverzeichnis dazu, Uploadbedingungen (erwartete Dateitypen, Dateigrößen etc.) und evtl. ein "Mapping" in Form einer Umbenennung der Datei oder Einordnung in ein Dateisystem.

          Daher kannst du die Funktionalität grundsätzlich natürlich in eine Klasse schreiben, allerdings reicht es da nicht aus, das ganze einfach in den Konstruktor zu packen.

          Mach doch einmal einen Vorschlag, wie du dir deine Klasse vorgestellt hast (unter Berücksichtigung des oben genannten), dann kann man ja mal drauf gucken und dir Korrekturvorschläge geben.
          "Mein Name ist Lohse, ich kaufe hier ein."

          Kommentar

          Lädt...
          X