debug) { echo "Specified file ".$name." does not exist in the FILES array. Please check if it exists
\n"; echo "Exiting..."; } exit; } $this->allowable_upload_base_dirs = array(UPLOADDIR,TEMPUPLOADDIR); $this->getConfigurationSettings(); if( $this->file_upload_flag == "off" ) { if ($this->debug) { echo "File upload capability in the configuration file is turned off . Please update the php.ini file."; } exit; } $this->upload_file_name = $name; } private function getConfigurationSettings() { $this->file_upload_flag = ini_get('file_uploads'); $this->upload_tmp_dir = ini_get('upload_tmp_dir'); $max_filesize_server_setting = $this->convertFileSize(ini_get('upload_max_filesize')); $max_filesize_prog_setting = $this->convertFileSize($this->upload_max_filesize_literal); if ($max_filesize_prog_setting > $max_filesize_server_setting) { $this->upload_max_filesize = $max_filesize_server_setting; } else { $this->upload_max_filesize = $max_filesize_prog_setting; } } private function convertFileSize($val){ $last = strtolower($val{strlen($val)-1}); switch($last) { case 'g': $val *= 1024; case 'm': $val *= 1024; case 'k': $val *= 1024; } return $val; } public function setFileSizeDefault(){ $val = ini_get('upload_max_filesize'); $this->upload_max_filesize = $this->convertFileSize($val); } public function getErrors() { return $_FILES[$this->upload_file_name]['error']; } public function getFileSize() { return $_FILES[$this->upload_file_name]['size']; } public function getFileName() { if (!empty($this->new_filename)) { $filename = $this->new_filename; } else { $filename = $_FILES[$this->upload_file_name]['name']; } return $filename; } public function getTmpName() { return $_FILES[$this->upload_file_name]['tmp_name']; } public function setUploadDir($upload_dir) { $success = 0; trim($upload_dir); if( $upload_dir[strlen($upload_dir)-1] != "/" ) { $upload_dir .= "/"; // add trailing slash } $can_upload = false; foreach( $this->allowable_upload_base_dirs as $dir ) { if( $dir == $upload_dir ) { $can_upload = true; break; } } if( !$can_upload ) { if ($this->debug) { echo "Cannot upload to the dir ->".$upload_dir; } }else{ if ($this->debug) { echo "Successfully setting upload dir ->".$upload_dir; } $this->upload_dir = $upload_dir; $success = 1; } return $success; } public function setTmpUploadDir($upload_tmp_dir) { trim($upload_tmp_dir); if( $upload_tmp_dir[strlen($upload_tmp_dir)-1] != "/" ) { $upload_tmp_dir .= "/"; // add trailing slash } $can_upload = false; foreach( $this->allowable_upload_base_dirs as $dir ) { if( $dir == $upload_tmp_dir ) { $can_upload = true; return 0; } } if( !$can_upload ) { if ($this->debug) { if ($this->debug) { echo "Cannot upload to the dir ->".$upload_tmp_dir; } } return 0; } $this->upload_tmp_dir = $upload_dir; } public function uploadFile() { $result = 0; if( $this->checkMaxMemorySizeLimit() ) { if ($this->getFileSize() > 0) { $this->last_msg = "File size of ".number_format($this->getFileSize()/1024)." KB greater than allowable limit of ".number_format($this->upload_max_filesize/1024) . " KB."; if ($this->debug) { echo $this->last_msg; } } else { $this->last_msg = "File size is greater than allowable limit of ".number_format($this->upload_max_filesize/1024) . " KB."; } } else { $this->temp_src_file = $this->upload_dir.$this->getFileName(); //echo "
temp = " . $this->temp_src_file . "
"; if (file_exists($this->temp_src_file)) unlink($this->temp_src_file); if (!move_uploaded_file($this->getTmpName(), $this->temp_src_file)){ $this->last_msg = "ERROR: Unable to copy file from temp directory."; die($this->last_msg); } else { $result = 1; if ($this->debug) { echo "move_uploaded_file OK"."
"; } } } return $result; } public function uploadFTPFile() { $result = 0; if( $this->checkMaxMemorySizeLimit() ) { if ($this->getFileSize() > 0) { $this->last_msg = "File size of ".number_format($this->getFileSize()/1024)." KB greater than allowable limit of ".number_format($this->upload_max_filesize/1024) . " KB."; if ($this->debug) { echo $this->last_msg; } } else { $this->last_msg = "File size is greater than allowable limit of ".number_format($this->upload_max_filesize/1024) . " KB."; } } else { $this->local_file = $this->upload_dir.$this->getFileName(); $this->remote_file = $this->getFileName(); $ftp_server = 'mis-server'; $ftp_user_name = 'dwh'; $ftp_user_pass = 'BAGDWH'; $ftp_dir = 'dwh_ext'; $conn_id = ftp_connect($ftp_server); $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); if ((!$conn_id) || (!$login_result)) { $this->last_msg = "Connection to $ftp_server for user $ftp_user_name has failed!"; ftp_close($conn_id); die($this->last_msg); } else { if (ftp_chdir($conn_id, $ftp_dir)) { $res = ftp_size($conn_id, $this->remote_file); if ($res != -1) { ftp_delete($conn_id, $this->remote_file); } $upload = ftp_put($conn_id, $this->remote_file, $this->local_file, FTP_ASCII); if (!$upload) { $this->last_msg = "ERROR: Unable to copy file to server."; unlink($this->local_file); ftp_close($conn_id); die($this->last_msg); } else { $result = 1; unlink($this->local_file); ftp_close($conn_id); if ($this->debug) { echo "move_uploaded_file OK"."
"; } } } else { $this->last_msg = "Access to $ftp_dir for user $ftp_user_name denied!"; ftp_close($conn_id); die($this->last_msg); } } } return $result; } public function checkMaxMemorySizeLimit() { if( $this->getFileSize() > $this->upload_max_filesize && $this->getFileSize() !== 0) { return true; }else{ return false; } } public function checkAllowableExtension() { $filename = basename($this->getFileName()); preg_match_all('/(\.\w+)/i',$filename,$matches); $this->ori_ext = strtolower(end($matches[1])); if ((in_array($this->ori_ext,$this->allowable_file_array)) && (array_key_exists($this->info['mime'], array_flip($this->mime_type_allowed)))) { $result = true; } else { $result = false; } return $result; } public function checkFileExists(){ return file_exists($this->upload_dir.$this->getFileName()); } public function setFilename($filename) { $this->new_filename = $filename; } public function GetFTPFile () { $result = 0; $ftp_server = 'mis-server'; $ftp_user_name = 'dwh'; $ftp_user_pass = 'BAGDWH'; $conn_id = ftp_connect($ftp_server); $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); if ((!$conn_id) || (!$login_result)) { $this->last_msg = "Connection to $ftp_server for user $ftp_user_name has failed!"; ftp_close($conn_id); die($this->last_msg); } else { for ($d=1;$d<=2:$d++) { if ($d==1) { $ftp_dir = 'KWU'; } else { $ftp_dir = 'L2R'; } if (ftp_chdir($conn_id, $ftp_dir)) { for ($i=1;$i<=3;$i++) { if ($i == 1) { $this->new_filename = 'LNTYPE.DBF'; } else if ($i == 2) { $this->new_filename = 'LNCUST.DBF'; } else { $this->new_filename = 'LNMAST.DBF'; } $this->local_file = $this->getFileName(); $this->remote_file = $this->getFileName(); } } $res = ftp_size($conn_id, $this->remote_file); if ($res != -1) { ftp_delete($conn_id, $this->remote_file); } $upload = ftp_put($conn_id, $this->remote_file, $this->local_file, FTP_ASCII); if (!$upload) { $this->last_msg = "ERROR: Unable to copy file to server."; unlink($this->local_file); ftp_close($conn_id); die($this->last_msg); } else { $result = 1; unlink($this->local_file); ftp_close($conn_id); if ($this->debug) { echo "move_uploaded_file OK"."
"; } } } else { $this->last_msg = "Access to $ftp_dir for user $ftp_user_name denied!"; ftp_close($conn_id); die($this->last_msg); } } return $result; } }