php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.09.2009, 09:06  
Neuer Benutzer
 
Registriert seit: 31.08.2009
Beiträge: 4
PHP-Kenntnisse:
Anfänger
paul_otto befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Grafik Datei mit PHP laden

Hallo Leute,
das Szenario: Artikeldaten werden anhand eines Scripts in ein Shop geladen!
Auch die Bilder werden geladen. Da ich das Script auch für eine andere Abwendung verwenden will ist meine Frage wie wird die Grafik-Datei übergeben? Es gibt eine Klasse die das erledigt
Code:
class upload {
    var $file, $filename, $destination, $permissions, $extensions, $tmp_filename;

    function upload($file = '', $destination = '', $permissions = '777', $extensions = '') {

      $this->set_file($file);
      $this->set_destination($destination);
      $this->set_permissions($permissions);
      $this->set_extensions($extensions);

      if (xtc_not_null($this->file) && xtc_not_null($this->destination)) {
        if ( ($this->parse() == true) && ($this->save() == true) ) {
          return true;
        } else {
          return false;
        }
      }
    }

    function parse() {
      global $messageStack;
      if (isset($_FILES[$this->file])) {
        $file = array('name' => $_FILES[$this->file]['name'],
                      'type' => $_FILES[$this->file]['type'],
                      'size' => $_FILES[$this->file]['size'],
                      'tmp_name' => $_FILES[$this->file]['tmp_name']);
      } elseif (isset($_FILES[$this->file])) {

        $file = array('name' => $_FILES[$this->file]['name'],
                      'type' => $_FILES[$this->file]['type'],
                      'size' => $_FILES[$this->file]['size'],
                      'tmp_name' => $_FILES[$this->file]['tmp_name']);
      } else {
        $file = array('name' => $GLOBALS[$this->file . '_name'],
                      'type' => $GLOBALS[$this->file . '_type'],
                      'size' => $GLOBALS[$this->file . '_size'],
                      'tmp_name' => $GLOBALS[$this->file]);
      }

      if ( xtc_not_null($file['tmp_name']) && ($file['tmp_name'] != 'none') && is_uploaded_file($file['tmp_name']) ) {
        if (sizeof($this->extensions) > 0) {
          if (!in_array(strtolower(substr($file['name'], strrpos($file['name'], '.')+1)), $this->extensions)) {
  //          $messageStack->add_session(ERROR_FILETYPE_NOT_ALLOWED, 'error');

            return false;
          }
        }

        $this->set_file($file);
        $this->set_filename($file['name']);
        $this->set_tmp_filename($file['tmp_name']);

        return $this->check_destination();
      } else {

   //     if ($file['tmp_name']=='none') $messageStack->add_session(WARNING_NO_FILE_UPLOADED, 'warning');

        return false;
      }
    }

    function save() {
      global $messageStack;

      if (substr($this->destination, -1) != '/') $this->destination .= '/';

      // GDlib check
      if (!function_exists("imagecreatefromgif")) {

        // check if uploaded file = gif
        if ($this->destination==DIR_FS_CATALOG_ORIGINAL_IMAGES) {
            // check if merge image is defined .gif
            if (strstr(PRODUCT_IMAGE_THUMBNAIL_MERGE,'.gif') ||
                strstr(PRODUCT_IMAGE_INFO_MERGE,'.gif') ||
                strstr(PRODUCT_IMAGE_POPUP_MERGE,'.gif')) {

      //          $messageStack->add_session(ERROR_GIF_MERGE, 'error');
                return false;

            }
            // check if uploaded image = .gif
            if (strstr($this->filename,'.gif')) {
      //       $messageStack->add_session(ERROR_GIF_UPLOAD, 'error');
             return false;
            }

        }

      }
      if (move_uploaded_file($this->file['tmp_name'], $this->destination . $this->filename)) {
        chmod($this->destination . $this->filename, $this->permissions);

    //    $messageStack->add_session(SUCCESS_FILE_SAVED_SUCCESSFULLY, 'success');

        return true;
      } else {
    //    $messageStack->add_session(ERROR_FILE_NOT_SAVED, 'error');

        return false;
      }
    }

    function set_file($file) {
      $this->file = $file;
    }

    function set_destination($destination) {
      $this->destination = $destination;
    }

    function set_permissions($permissions) {
      $this->permissions = octdec($permissions);
    }

    function set_filename($filename) {
      $this->filename = $filename;
    }

    function set_tmp_filename($filename) {
      $this->tmp_filename = $filename;
    }

    function set_extensions($extensions) {
      if (xtc_not_null($extensions)) {
        if (is_array($extensions)) {
          $this->extensions = $extensions;
        } else {
          $this->extensions = array($extensions);
        }
      } else {
        $this->extensions = array();
      }
    }

    function check_destination() {
      global $messageStack;

      if (!is_writeable($this->destination)) {
        if (is_dir($this->destination)) {
    //      $messageStack->add_session(sprintf(ERROR_DESTINATION_NOT_WRITEABLE, $this->destination), 'error');
        } else {
    //      $messageStack->add_session(sprintf(ERROR_DESTINATION_DOES_NOT_EXIST, $this->destination), 'error');
        }

        return false;
      } else {
        return true;
      }
    }

  }
hier der Aufruf

Code:
        if (isset($_POST['Artikel_Bilddatei']))
        {
          $products_image = new upload('artikel_image');
          $products_image->set_destination(DIR_FS_CATALOG.DIR_WS_ORIGINAL_IMAGES);
          if ($products_image->parse())
          {
            $products_image->save();
          }
in $Artikel_Bildatei steht der Name des Bildes, aber wie kommt das script an die Datei? Und warum wird die Classe Upload mit parameter aufgerufen,aber es gibt keinen Constructor

Gruss Paul
paul_otto ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.09.2009, 09:13  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Die Funktion parse() greift auf $_FILES zu. -> nicht schön
HPR1974 ist offline   Mit Zitat antworten
Alt 01.09.2009, 09:25  
Neuer Benutzer
 
Registriert seit: 31.08.2009
Beiträge: 4
PHP-Kenntnisse:
Anfänger
paul_otto befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von HPR1974 Beitrag anzeigen
Die Funktion parse() greift auf $_FILES zu. -> nicht schön
Bedeutet dies dem Aufruf des Script wird eine Datei mitgegeben?
Bin leider in PHP nicht so fit, muss das ganz aus Delphi Aufrufen bis
auf die Grafikdatei habe ich schon alles umsetzen können!?

Gruss Paul
paul_otto ist offline   Mit Zitat antworten
Alt 01.09.2009, 09:29  
Erfahrener Benutzer
 
Registriert seit: 28.08.2009
Beiträge: 233
PHP-Kenntnisse:
Anfänger
Steve befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von paul_otto Beitrag anzeigen
Und warum wird die Classe Upload mit parameter aufgerufen,aber es gibt keinen Constructor
Das ist PHP-4-Syntax. Der Konstruktor ist die Methode mit der Bezeichnung des Klassennames, also "function upload".
Steve ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei laden shadowcrysis PHP Tipps 2009 1 13.08.2009 08:38
php Variable in css datei Sascha321 PHP Tipps 2009 8 13.07.2009 02:29
[Erledigt] Php Datei in Seite laden. thiagojonas PHP Tipps 2009 9 06.07.2009 14:10
[Erledigt] Datei laden ud speichern SimStar001 JavaScript, Ajax und mehr 4 29.04.2009 19:38
[Erledigt] Dynamisch ausgwählte Datei in TinyMCE laden Lukas PHP Tipps 2009 4 03.04.2009 22:03
[Erledigt] Datei aktualisieren (neu laden!) mit PHP? Moe LaRoqua PHP Tipps 2009 6 29.03.2009 11:50
Datei durchsuchen Wöllchen Beitragsarchiv 3 02.03.2006 22:23
datei laden ohne aktualisierung bzw F5 TaStEn PHP Tipps 2007 10 13.12.2005 20:49
Datei aus anderem Verzeichnis laden klappt nicht.. PHP Tipps 2005-2 0 13.10.2005 00:36
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Dynamisch Javascript aus seperater Datei laden DerDesian PHP Tipps 2005 3 08.05.2005 00:45
Datei auf einen anderen Server laden Borlox PHP Tipps 2005 3 25.04.2005 20:12
.txt Datei in Textarea laden und aktualisieren PHP Tipps 2005 12 12.01.2005 19:19
Mp3 Datei in Winamp laden andrew22 PHP Tipps 2004 3 01.07.2004 10:03
Laden einer Datei in ein Div. PHP Tipps 2004 1 27.06.2004 18:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php grafik laden, php gif laden, php grafik neu laden, grafikdatei php, php laden einer grafik, grafik mit php laden, \ $messagestack->add_session(success_file_saved_successfully\, grafik neu laden php, grafik laden mit php, datei mit php laden, php grafikdatei, php grafik wechseln, php grafiken laden, gif neu laden php, mp3 datei php laden, php in php laden, lade datei in php array, gif in if php neuladen, gif datei als php datei, file:// grafiken laden

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum