uploading files
play

Uploading files Dr. Steven Bitner Uploading files (chapter 19) - PowerPoint PPT Presentation

Uploading files Dr. Steven Bitner Uploading files (chapter 19) http://kc-sce- sphp01.kc.umkc.edu/~bitners/dashboard.php How does that work Several different approaches We'll only cover one to avoid confusion Steps follow Server


  1. Uploading files Dr. Steven Bitner

  2. Uploading files (chapter 19)  http://kc-sce- sphp01.kc.umkc.edu/~bitners/dashboard.php

  3. How does that work  Several different approaches  We'll only cover one to avoid confusion  Steps follow

  4. Server settings  First things first  Use phpinfo() again  http://kc-sce-sphp01.kc.umkc.edu/~bitners/junk.php  Look for:  file_uploads  max_file_uploads  upload_max_filesize

  5. Another superglobal  $_GET,$_POST,$_REQUEST, and $_SERVER have a friend  Called $_FILES  Just like the others, it is created at the right time

  6. Interface with users  http://kc-sce- sphp01.kc.umkc.edu/~bitners/code.php?page=dashboard.p hp  Two elements of note <input type = "hidden" name = "MAX_FILE_SIZE" value = "2000000" /> <input type = "file" name = "bestFileEver" />

  7. Submit  Of course don't forget your <form> and <button> tags  Make sure that your form method is POST and that you set the action attribute to the file you intend to use for uploading <form action = "uploadMe.php" method = "POST" enctype= "multipart/form-data">

  8. enctype?  The enctype (encoding type) attribute for the form tag tells the browser that you will be including different encoding formats  This is similar to the multipart information needed for mailing an attachment or including HTML in an email  Without this attribute properly set, your script will fail

  9. $_FILES is alive  When the user clicks submit, the $_FILES superglobal arrray is created in much the same manner as $_POST is created

  10. Where to store files  Server directory – The book way (more sample code)  pros:  easiest approach, since the file system does this automatically  less open to injection attacks  cons:  Much harder to control access  File itself is stored separately from metadata  Database – this is the way we'll discuss  pros:  Have total control over who can view  cons:  More complex to program  Injection attacks can happen if you don't use prepared statements

  11. Database storage of files  Need a database table for storing files with:  name – this will store the name of the file  CHAR or VARCHAR  size – to store the size of the file  INT  $_FILES['size'] is a quick bit of error checking to make sure that a file was uploaded  type – in order to send the appropriate header, or include the correct data type in the form src attribute  CHAR or VARCHAR  content – the file itself  any member of the BLOB family  TINYBLOB – up to 2 8 bytes = 256B  BLOB – up to 2 16 bytes = 64KB  MEDIUMBLOB – up to 2 24 bytes = 16MB  LONGBLOB – up to 2 32 bytes = 4GB

  12. Uploading  Like all of PHP , you can choose a functional or an object oriented approach  You can hard code this functionality inline, but then the code is not re-usable  http://kc-sce- sphp01.kc.umkc.edu/~bitners/code.php?page=resources/u ploader.php

  13. Did it work?  Check your database table directly  kc-sce-sphp01.kc.umkc.edu:8888  If it's in there, you're almost done

  14. Viewing  We don't store files for the sake of wasting disk space  Once again two approaches  Display by encoding the data from the db and using the following image tag <img src="data:image/jpeg;base64,ENC_FILE" />  ENC_FILE above is the value returned from base64_encode ($file);

  15. More common approach  Use a script as an image src  Send header from the script <img src="showImage.php?id=8" />  Tons of examples online  Essentially, send the appropriate headers and then echo the content from the database

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend