PHP uploading files using <input> multiple Attribute -


i'm having several <input type="file" fields uploading images. want convert input fields 1 single field using html multiple attribute.

my working code multiple input fields:

<input type="file" name="popup_images_1"> <input type="file" name="popup_images_2"> <input type="file" name="popup_images_3">...   ($i = 1; $i <= 3; $i++) {   if (is_uploaded_file($_files['popup_images_' . $i]['tmp_name'])) {     $products_image = new upload('popup_images_' . $i);     $products_image->set_destination(dir_fs_catalog_images);      if ($products_image->parse() && $products_image->save()) {       $products_image_name = $products_image->filename;       // database stuff     }   } } 

my new code, not working, single input field:

<input type="file" name="popup_images[]" multiple="multiple">   $num_files = count($http_post_files['popup_images']['tmp_name']); ($i = 1; $i <= $num_files; $i++) {   if (is_uploaded_file($http_post_files['popup_images']['tmp_name'][$i])) {     $products_image = new upload('popup_images' . $i);     $products_image->set_destination(dir_fs_catalog_images);      if ($products_image->parse() && $products_image->save()) {       $products_image_name = $products_image->filename;       // database stuff     }   } } 

things seems go wrong @ line new upload('popup_images' . $i) set. ideas?

this upload class:

  class upload { var $file, $filename, $destination, $permissions, $extensions, $tmp_filename, $message_location;  function upload($file = '', $destination = '', $permissions = '777', $extensions = '') {   $this->set_file($file);   $this->set_destination($destination);   $this->set_permissions($permissions);   $this->set_extensions($extensions);    $this->set_output_messages('direct');    if (tep_not_null($this->file) && tep_not_null($this->destination)) {     $this->set_output_messages('session');      if ( ($this->parse() == true) && ($this->save() == true) ) {       return true;     } else {       return false;     }   } }  function parse() {   global $http_post_files, $messagestack;    $file = array();    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($http_post_files[$this->file])) {     $file = array('name' => $http_post_files[$this->file]['name'],                   'type' => $http_post_files[$this->file]['type'],                   'size' => $http_post_files[$this->file]['size'],                   'tmp_name' => $http_post_files[$this->file]['tmp_name']);   }    if ( tep_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)) {         if ($this->message_location == 'direct') {           $messagestack->add(error_filetype_not_allowed, 'error');         } else {           $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 ($this->message_location == 'direct') {       $messagestack->add(warning_no_file_uploaded, 'warning');     } else {       $messagestack->add_session(warning_no_file_uploaded, 'warning');     }      return false;   } }  function save() {   global $messagestack;    if (substr($this->destination, -1) != '/') $this->destination .= '/';    if (move_uploaded_file($this->file['tmp_name'], $this->destination . $this->filename)) {     chmod($this->destination . $this->filename, $this->permissions);      if ($this->message_location == 'direct') {       $messagestack->add(success_file_saved_successfully, 'success');     } else {       $messagestack->add_session(success_file_saved_successfully, 'success');     }      return true;   } else {     if ($this->message_location == 'direct') {       $messagestack->add(error_file_not_saved, 'error');     } else {       $messagestack->add_session(error_file_not_saved, 'error');     }      return false;   } } 


Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -