Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!-- document to insert an image into a story -->
- <html>
- <head><title>File Insert</title></head>
- <body>
- <h3>Please Choose a File and click Submit</h3>
- <form enctype="multipart/form-data" action=
- "home_page.php" method="get">
- <input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
- <input name="userfile" type="file" />
- <input type="submit" value="Submit" />
- </form>
- <?php
- session_start();
- $host="localhost"; // Host name
- $user="wustl_inst"; // Mysql username
- $pass="wustl_pass"; // Mysql password
- $db="newsite"; // Database name
- $tbl_name="accounts"; // Table name
- // Connect to server and select databse.
- $mysqli = new mysqli($host, $user, $pass, $db);
- if($mysqli->connect_errno){
- printf("Connection Failed: %s\n", $mysqli->connect_error);
- exit;
- }
- // check if a file was submitted
- if(!isset($_FILES['userfile']))
- {
- echo '<p>Please select a file</p>';
- }
- else
- {
- try {
- $msg= upload(); //this will upload your image
- echo $msg; //Message showing success or failure.
- }
- catch(Exception $e) {
- echo $e->getMessage();
- echo 'Sorry, could not upload file';
- }
- }
- // the upload function
- function upload() {
- // include "file_constants.php";
- $maxsize = 10000000; //set to approx 10 MB
- //check associated error code
- if($_FILES['userfile']['error']==UPLOAD_ERR_OK) {
- //check whether file is uploaded with HTTP POST
- if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {
- //checks size of uploaded image on server side
- if( $_FILES['userfile']['size'] < $maxsize) {
- //checks whether uploaded file is of image type
- //if(strpos(mime_content_type($_FILES['userfile']['tmp_name']),"image")===0) {
- $finfo = finfo_open(FILEINFO_MIME_TYPE);
- if(strpos(finfo_file($finfo, $_FILES['userfile']['tmp_name']),"image")===0) {
- // prepare the image for insertion
- $imgData =addslashes (file_get_contents($_FILES['userfile']['tmp_name']));
- // put the image in the db...
- // database connection
- mysql_connect($host, $user, $pass) OR DIE (mysql_error());
- // select the db
- mysql_select_db ($db) OR DIE ("Unable to select db".mysql_error());
- // our sql query
- /* $sql = "INSERT INTO test_image
- (image, name)
- VALUES
- ('{$imgData}', '{$_FILES['userfile']['name']}');";
- // insert the image
- mysql_query($sql) or die("Error in Query: " . mysql_error());
- $msg='<p>Image successfully saved in database with id ='. mysql_insert_id().' </p>';*/
- //my insert query
- $imageinsert = $mysqli->prepare("update stories set story_image = ? where story_title = ?");
- if(!$imageinsert) {
- printf("Query prep failed: %s\n", $mysqli->error);
- exit;
- }
- $imageinsert->bind_param('bs', $imgData, $_SESSION['mystorytitle']);
- $imageinsert->execute();
- $imageinsert->close();
- }
- else
- $msg="<p>Uploaded file is not an image.</p>";
- }
- else {
- // if the file is not less than the maximum allowed, print an error
- $msg='<div>File exceeds the Maximum File limit</div>
- <div>Maximum File limit is '.$maxsize.' bytes</div>
- <div>File '.$_FILES['userfile']['name'].' is '.$_FILES['userfile']['size'].
- ' bytes</div><hr />';
- }
- }
- else
- $msg="File not uploaded successfully.";
- }
- else {
- $msg= file_upload_error_message($_FILES['userfile']['error']);
- }
- return $msg;
- }
- // Function to return error message based on error code
- function file_upload_error_message($error_code) {
- switch ($error_code) {
- case UPLOAD_ERR_INI_SIZE:
- return 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
- case UPLOAD_ERR_FORM_SIZE:
- return 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
- case UPLOAD_ERR_PARTIAL:
- return 'The uploaded file was only partially uploaded';
- case UPLOAD_ERR_NO_FILE:
- return 'No file was uploaded';
- case UPLOAD_ERR_NO_TMP_DIR:
- return 'Missing a temporary folder';
- case UPLOAD_ERR_CANT_WRITE:
- return 'Failed to write file to disk';
- case UPLOAD_ERR_EXTENSION:
- return 'File upload stopped by extension';
- default:
- return 'Unknown upload error';
- }
- }
- ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement