Jump to content

abeautifulmind

New Members
  • Posts

    3
  • Joined

  • Last visited

    Never

Everything posted by abeautifulmind

  1. sorry for off topic but i think little javascipt is used because when you press e.g. smile it pass the symbol in textarea with no page refresh.
  2. Hello to all. Do anyone knows if there is something free on the web to put smilies tags and more as options for users they try to post on my web site? For example like here when you make new topic and you have smilies and everything. Thank you in advance.
  3. Good evening to all. I want to ask if anyone can help. I found this php upload class (free and good i thing) i want to report errors such as wrong extention file,or big file and so but i am comfused(not good in oop php).Could anyone help? The class <?php /* |----------------- | Author: Life.Object | E-Mail: life.object@gmail.com | Website: http://www.tutorialchip.com/ | Help: http://www.tutorialchip.com/php-upload-class/ | Version: 1.0 | Released: December 18, 2010 | Updated: December 18, 2010 |------------------ */ class chip_upload { /* |--------------------------- | Properties |--------------------------- */ private $upload_hook = array(); private $args = array ( 'upload_file' => NULL, 'upload_directory' => NULL, 'allowed_size' => 512000, 'extension_check' => TRUE, 'upload_overwrite' => FALSE, ); private $allowed_extensions = array ( /* Archives */ 'zip' => TRUE, '7z' => TRUE, /* Documents */ 'txt' => TRUE, 'pdf' => TRUE, 'doc' => TRUE, 'xls' => TRUE, 'ppt' => TRUE, /* Executables */ 'exe' => FALSE, /* Images */ 'gif' => TRUE, 'png' => TRUE, 'jpg' => TRUE, 'jpeg' => TRUE, /* Audio */ 'mp3' => TRUE, 'wav' => TRUE, /* Video */ 'mpeg' => TRUE, 'mpg' => TRUE, 'mpe' => TRUE, 'mov' => TRUE, 'avi' => TRUE ); /* |--------------------------- | Constructor | | @public | @param array $args | @param array $allowed_extensions | |--------------------------- */ public function __construct() { } /* |--------------------------- | Print variable in readable format | | @public | @param string|array|object $var | |--------------------------- */ public function chip_print( $var ) { echo "<pre>"; print_r($var); echo "</pre>"; } /* |--------------------------- | Update default arguments | It will update default array of class i.e $args | | @private | @param array $args - input arguments | @param array $defatuls - default arguments | @return array | |--------------------------- */ private function chip_parse_args( $args = array(), $defaults = array() ) { return array_merge( $defaults, $args ); } /* |--------------------------- | Get extension and name of file | | @private | @param string $file_name | @return array - having file_name and file_ext | |--------------------------- */ private function chip_extension($file_name) { $temp = array(); $temp['file_name'] = strtolower( substr( $file_name, 0, strripos( $file_name, '.' ) ) ); $temp['file_extension'] = strtolower( substr( $file_name, strripos( $file_name, '.' ) + 1 ) ); return $temp; } /* |--------------------------- | Get safe string | | @private | @param string $var | @return string | |--------------------------- */ public function chip_safe_string( $var = "", $separator = "" ) { return preg_replace('|[^a-zA-Z0-9_]|',$separator,$var); } /* |-------------------------- | Get error status of uploaded file | | @private | @param integer $error_code | @return string |-------------------------- */ private function chip_upload_error( $error_code ) { switch ( $error_code ) { case UPLOAD_ERR_OK: $error = "All OK"; break; case UPLOAD_ERR_INI_SIZE: $error = "The uploaded file exceeds the upload_max_filesize directive (".ini_get("upload_max_filesize").") in php.ini."; break; case UPLOAD_ERR_FORM_SIZE: $error = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form."; break; case UPLOAD_ERR_PARTIAL: $error = "The uploaded file was only partially uploaded."; break; case UPLOAD_ERR_NO_FILE: $error = "No file was uploaded."; break; case UPLOAD_ERR_NO_TMP_DIR: $error = "Missing a temporary folder."; break; case UPLOAD_ERR_CANT_WRITE: $error = "Failed to write file to disk."; break; default: $error = "Unknown Error."; } return $error; } /* |--------------------------- | Set default arguments | It will set default array of class i.e $args | | @private | @param array $args | @return 0 | |--------------------------- */ private function set_args( $args = array() ) { $defaults = $this->get_args(); $args = $this->chip_parse_args( $args, $defaults ); $this->args = $args; } /* |--------------------------- | Get default arguments | It will get default array of class i.e $args | | @public | @return array | |--------------------------- */ public function get_args() { return $this->args; } /* |--------------------------- | Set default allowed extensions | It will set default array of class i.e $allowed_extensions | | @private | @param array $allowed_extensions | @return 0 | |--------------------------- */ private function set_allowed_extensions( $allowed_extensions = array() ) { $defaults = $this->get_allowed_extensions(); $allowed_extensions = $this->chip_parse_args( $allowed_extensions, $defaults ); $this->allowed_extensions = $allowed_extensions; } /* |--------------------------- | Get default allowed extensions | It will get default array of class i.e $allowed_extensions | | @public | @return array | |--------------------------- */ public function get_allowed_extensions() { return $this->allowed_extensions; } /* |--------------------------- | Set Upload Var | It will set upload variable | | @private | @param string $upload_directory ! @return boolean | |--------------------------- */ private function set_upload_var( $files ) { $temp = array(); $files_upload_attributes = array( 'name', 'type', 'tmp_name', 'error', 'size' ); //$this->chip_print( $files ); $upload_files = count( $files['name'] ); $upload_files = ( !empty( $upload_files ) ) ? $upload_files : 0 ; $foreachindex = 0; for( $i = 1; $i <= $upload_files; $i++ ) { foreach( $files_upload_attributes as $val ) { $temp[$i][$val] = $files[$val][$foreachindex]; if( $val == "error" ) { $temp[$i]['error_status'] = $this->chip_upload_error( $files[$val][$foreachindex] ); } } ++$foreachindex; } return $temp; } /* |--------------------------- | Get Upload Var | It will set upload variable | | @private | @param array $files ! @return array | |--------------------------- */ public function get_upload_var( $files = array() ) { return $this->set_upload_var( $files ); } /* |--------------------------- | Set Directory Path | It will validate upload directory | | @private | @param string $upload_directory ! @return boolean | |--------------------------- */ private function set_directory_path( $upload_directory ) { if( is_dir( $upload_directory ) ) { return 1; } return 0; } /* |--------------------------- | Set Directory Writable | It will validate writable directory | | @private | @param string $upload_directory ! @return boolean | |--------------------------- */ private function set_directory_writable( $upload_directory ) { if( is_writable( $upload_directory ) ) { return 1; } return 0; } /* |--------------------------- | Set Upload Hook | It will set upload hook | | @private | @param array $var | |--------------------------- */ private function set_upload_hook( $var = array() ) { $this->upload_hook = $var; } /* |--------------------------- | Get Upload Hook | It will Get upload hook | | @public | @param array $var | |--------------------------- */ public function get_upload_hook() { return $this->upload_hook; } /* |--------------------------- | Set Upload | It will upload file. | | @private ! @return array | |--------------------------- */ public function set_upload( $args, $allowed_extensions ) { /* Arguments */ $this->set_args( $args ); $args = $this->get_args(); //$this->chip_print( $args ); extract( $args ); /* Allowed Extensions */ $this->set_allowed_extensions( $allowed_extensions ); $allowed_extensions = $this->get_allowed_extensions(); //$this->chip_print( $allowed_extensions ); /* Output */ $temp = array(); $temp['upload_directory'] = "Invalid - " . $upload_directory; $temp['upload_directory_writable'] = "Invalid - Directory is not writable"; $temp['upload_file_extension'] = "Invalid - Extension is not allowed"; $temp['upload_file_size'] = "Invalid - Size " . $upload_file['size'] . " bytes"; $temp['upload_process'] = 0; $temp['upload_move'] = FALSE; $temp['upload_overwrite'] = $upload_overwrite; /* Submitted Data */ $temp['upload_file']['name'] = $upload_file['name']; $temp['upload_file']['type'] = $upload_file['type']; $temp['upload_file']['tmp_name'] = $upload_file['tmp_name']; $temp['upload_file']['error'] = $upload_file['error']; $temp['upload_file']['error_status'] = $upload_file['error_status']; $temp['upload_file']['size'] = $upload_file['size']; /* |--------------------------- | Set 1 - Directory Path Validation |--------------------------- */ if( !empty($upload_directory) ) { /* Upload Directory Path Validation */ if ( $this->set_directory_path( $upload_directory ) ) { $temp['upload_directory'] = "Valid - " . $upload_directory; $temp['upload_process']++; /* |--------------------------- | Set 2 - Directory Write Permissions |--------------------------- */ if ( $this->set_directory_writable( $upload_directory ) ) { $temp['upload_directory_writable'] = "Valid - Directory is writable"; $temp['upload_process']++; $temp['upload_file']['directory'] = $upload_directory; } // if ( $this->set_directory_writable( $upload_directory ) ) } // if ( $this->set_directory_path( $upload_directory ) ) } // if( !empty($upload_directory) ) if ( !empty( $upload_file['name'] ) ) { /* |--------------------------- | Set 3 - Extension Validation |--------------------------- */ /* File Name and Extension */ $nameext = $this->chip_extension( $upload_file['name'] ); $file_name = $nameext['file_name']; $file_extension = $nameext['file_extension']; $temp['upload_file']['nameonly'] = $file_name; $temp['upload_file']['extension'] = $file_extension; /* Allowed Extension - Validation */ if ( $extension_check == FALSE ) { $temp['upload_file_extension'] = "Valid - Extension is allowed"; $temp['upload_process']++; } else if ( array_key_exists( $file_extension, $allowed_extensions ) && $allowed_extensions[$file_extension] == TRUE ) { $temp['upload_file_extension'] = "Valid - Extension is allowed"; $temp['upload_process']++; } /* |--------------------------- | Set 4 - Size Validation |--------------------------- */ /* Allowed Size Manipulation*/ if ( $allowed_size >= $upload_file['size'] ) { $temp['upload_file_size'] = "Valid - Size " . $upload_file['size'] . " bytes"; $temp['upload_process']++; } } // if ( !empty( $upload_file['name'] ) ) /* |--------------------------- | Upload Move Status |--------------------------- */ if ( $temp['upload_process'] == 4 && is_uploaded_file( $upload_file['tmp_name'] ) && $upload_file['error'] == UPLOAD_ERR_OK ) { $temp['upload_move'] = TRUE; } /* |--------------------------- | Upload Hook |--------------------------- */ $this->set_upload_hook( $temp ); //$this->chip_print( $temp ); return $temp; } /* |--------------------------- | Get Upload | It will upload file. | | @public ! @return array | |--------------------------- */ public function get_upload( $args = array(), $allowed_extensions = array() ) { return $this->set_upload( $args, $allowed_extensions ); } /* |--------------------------- | Set Upload Move | It will upload file. | | @public ! @return array | |--------------------------- */ public function set_upload_move( $name ) { /* Output */ $temp = array(); /* Upload Hook */ $upload_hook = $this->get_upload_hook(); if ( $upload_hook['upload_move'] == TRUE ) { /* |--------------------------- | Move Upload Manipulation |--------------------------- */ $name = ( !empty( $name ) ) ? $name : $upload_hook['upload_file']['nameonly']; $name = $this->chip_safe_string( $name ); $extension = $upload_hook['upload_file']['extension']; $temp_name = $upload_hook['upload_file']['tmp_name']; $dest_name = $upload_hook['upload_file']['directory'] . $name . "." . $extension; /* |--------------------------- | Overwrite Validation |--------------------------- */ if ( $upload_hook['upload_overwrite'] == FALSE ) { if ( file_exists( $dest_name ) ) { $i = 1; $max_loops = 100; while ( file_exists( $dest_name ) && $i <= $max_loops ) { $name_new = $name . "_" . $i; $name_new = $this->chip_safe_string( $name_new ); $dest_name = $upload_hook['upload_file']['directory'] . $name_new . "." . $extension; $i++; } // while ( file_exists( $dest_name ) ) } // if ( file_exists( $dest_name ) ) } /* |--------------------------- | Move File |--------------------------- */ $name = ( empty($name_new) ) ? $name : $name_new ; if ( move_uploaded_file( $temp_name, $dest_name ) ) { $temp['uploaded_status'] = TRUE; $temp['uploaded_file'] = $name; $temp['uploaded_extension'] = $extension; $temp['uploaded_directory'] = $dest_name; } else { $temp['uploaded_status'] = FALSE; $temp['uploaded_file'] = $name; $temp['uploaded_extension'] = $extension; $temp['uploaded_directory'] = $dest_name; } // if ( move_uploaded_file( $temp_name, $dest_name ) ) } return $temp; //return $this->set_upload_move( $name ); } /* |--------------------------- | Get Upload Move | It will upload file. | | @public | @param string $name ! @return array | |--------------------------- */ public function get_upload_move( $name = FALSE ) { return $this->set_upload_move( $name ); } /* |--------------------------- | Destructor |--------------------------- */ public function __destruct() { } } ?> and index where i want the errors to be displayed <?php /* |----------------- | Chip Error Manipulation |------------------ */ error_reporting(-1); /* |----------------- | Chip Constant Manipulation |------------------ */ define( "CHIP_DEMO_FSROOT", __DIR__ . "/" ); /* |----------------- | POST |------------------ */ if( $_POST ) { /* |----------------- | Chip Upload Class |------------------ */ require_once("class.chip_upload.php"); /* |----------------- | Upload(s) Directory |------------------ */ $upload_directory = CHIP_DEMO_FSROOT . "uploads/"; /* |----------------- | Class Instance |------------------ */ $object = new chip_upload(); /* |----------------- | $_FILES Manipulation |------------------ */ $files = $object->get_upload_var( $_FILES['upload_file'] ); //$object->chip_print( $files ); /* |----------------- | Upload File |------------------ */ foreach( $files as $file ) { /* |--------------------------- | Upload Inputs |--------------------------- */ $args = array( 'upload_file' => $file, 'upload_directory' => $upload_directory, 'allowed_size' => 512000, 'extension_check' => TRUE, 'upload_overwrite' => FALSE, ); $allowed_extensions = array( 'pdf' => FALSE, ); /* |--------------------------- | Upload Hook |--------------------------- */ $upload_hook = $object->get_upload( $args, $allowed_extensions ); //$object->chip_print( $upload_hook ); //exit; /* |--------------------------- | Move File |--------------------------- */ if( $upload_hook['upload_move'] == TRUE ) { /* |--------------------------- | Any Logic by User |--------------------------- */ /* |--------------------------- | Move File |--------------------------- */ $upload_output[] = $object->get_upload_move(); //$object->chip_print( $upload_output ); } else { /*$temp['uploaded_status'] = FALSE; $temp['uploaded_file'] = $upload_hook['upload_file']['name'] ; $upload_output[] = $temp;*/ } } // foreach( $files as $file ) } // if( $_POST ) ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" media="all" href="style.css" /> <title>Chip Upload Demo</title> </head> <body> <div id="wrap"> <div id="wrapdata"> <div id="header"> <div id="headerdata"> <div class="chipboxw1 chipstyle1"> <div class="chipboxw1data"> <h2 class="margin0">Chip Upload</h2> </div> </div> </div> </div> <div id="content"> <div id="contentdata"> <?php if( !empty($upload_output) ): ?> <?php //$object->chip_print( $upload_output ); foreach( $upload_output as $val ): ?> <div class="chipboxw1 chipstyle2"> <div class="chipboxw1data"> <h2 class="margin0"><?php include("connect.php"); $insertpost="INSERT INTO eikones_diadromi(email,path) values('paneos@hotmail.com','images/$val[uploaded_file].$val[uploaded_extension]')"; mysql_query($insertpost) or die("provlima insert"); echo $val['uploaded_file'] . "." . $val['uploaded_extension'] . " Uploaded"; ?></h2> </div> </div> <?php endforeach; ?> <?php endif; ?> <div class="chipboxw1 chipstyle1"> <div class="chipboxw1data"> <form method="post" action="" enctype="multipart/form-data"> <p>Upload File 1: <input name="upload_file[]" id="upload_file[]" type="file" class="inputtext" /></p> <p>Upload File 2: <input name="upload_file[]" id="upload_file[]" type="file" class="inputtext" /></p> <p>Upload File 3: <input name="upload_file[]" id="upload_file[]" type="file" class="inputtext" /></p> <p>Upload File 4: <input name="upload_file[]" id="upload_file[]" type="file" class="inputtext" /></p> <p>Upload File 5: <input name="upload_file[]" id="upload_file[]" type="file" class="inputtext" /></p> <p>Demo Allowed Files: .jpg</p> <input type="submit" name="submit" value="Upload File" /> </form> </div> </div> </div> </div> <div id="footer"> <div id="footerdata"> <div class="chipboxw1 chipstyle1"> <div class="chipboxw1data"> © <a href="http://www.tutorialchip.com/">TutorialChip</a> </div> </div> </div> </div> </div> </div> </body> </html> Thank you in advance
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.