|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now! |
|
#1
|
|||
|
|||
|
I have a question about using images with PHP/MySQL.
I have used PHP/MySQL with simple form submissions, queries with a MySQL database. However, I was wondering how you would incorporate uploading images to either a database or an image folder. That is, I want to have a form that has some basic info (name, date, time etc) but I also want the user to be able to attach an imagefile (likely a jpg) to be submitted as part of the form data. Is this a good idea or is there a better way of doing it. Basically, I thought the user could just do a search for the image file located on their hard-drive as part of the form. Is there a PHP function for this? If so, would the image then be sent to the database or an image folder - with a "link" to the image stored in the database? Any tips, comments or suggestions would be appreciated. Thanks. |
|
#2
|
|||
|
|||
|
php file upload
Hi there,
This won't solve everything, but at least it's partly along the way! This is a php script from phpbuilder.com I use in a user-input form to allow them to upload certain specified types/dimensions of files. If you're looking for more advice on this topic, I suggest reading the phpbuilder.com tutorial on the subject. <?php $my_max_file_size = "102400"; # in bytes $image_max_width = "115"; # in pixels $image_max_height = "43"; # in pixels ?> <?php $the_path = "/usr/local/upload/files"; ?> <?php $registered_types = array( "application/x-gzip-compressed" => ".tar.gz, .tgz", "application/x-zip-compressed" => ".zip", "application/x-tar" => ".tar", "text/plain" => ".html, .php, .txt, .inc (etc)", "image/bmp" => ".bmp, .ico", "image/gif" => ".gif", "image/pjpeg" => ".jpg, .jpeg", "image/jpeg" => ".jpg, .jpeg", "application/x-shockwave-flash" => ".swf", "application/msword" => ".doc", "application/vnd.ms-excel" => ".xls", "application/octet-stream" => ".exe, .fla (etc)" ); # these are only a few examples, you can add as many as you like ?> <?php $allowed_types = array("image/bmp","image/gif","image/pjpeg","image/jpeg"); ?> <?php function form($error=false) { global $PHP_SELF,$my_max_file_size; if ($error) print $error . "<br><br>"; print "\n<form ENCTYPE=\"multipart/form-data\" action=\"" . $PHP_SELF . "\" method=\"post\">"; print "\n<INPUT TYPE=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"" . $my_max_file_size . "\">"; print "\n<INPUT TYPE=\"hidden\" name=\"task\" value=\"upload\">"; print "\n<P>Upload a file"; print "\n<BR>NOTE: Max file size is " . ($my_max_file_size / 1024) . "KB"; print "\n<br><INPUT NAME=\"the_file\" TYPE=\"file\" SIZE=\"35\"><br>"; print "\n<input type=\"submit\" Value=\"Upload\">"; print "\n</form>"; } # END form ?> <?php if (!ereg("^4",phpversion())) { function in_array($needle,$haystack) { # we have this function in PHP4, so for you PHP3 people for ($i=0; $i < count($haystack); $i++) { if ($haystack[$i] == $needle) { return true; } } } } ?> <?php function validate_upload($the_file) { global $my_max_file_size, $image_max_width, $image_max_height,$allowed_types,$the_file_type,$registered_types; $start_error = "\n<b>Error:</b>\n<ul>"; if ($the_file == "none") { # do we even have a file? $error .= "\n<li>You did not upload anything!</li>"; } else { # check if we are allowed to upload this file_type if (!in_array($the_file_type,$allowed_types)) { $error .= "\n<li>The file that you uploaded was of a ". "type that is not allowed, you are only allowed to upload files of the type:\n<ul>"; while ($type = current($allowed_types)) { $error .= "\n<li>" . $registered_types[$type] . " (" . $type . ")</li>"; next($allowed_types); } $error .= "\n</ul>"; } if (ereg("image",$the_file_type) && (in_array($the_file_type,$allowed_types))) { $size = GetImageSize($the_file); list($foo,$width,$bar,$height) = explode("\"",$size[3]); if ($width > $image_max_width) { $error .= "\n<li>Your image should be no wider than " . $image_max_width . " Pixels</li>"; } if ($height > $image_max_height) { $error .= "\n<li>Your image should be no higher than " . $image_max_height . " Pixels</li>"; } } if ($error) { $error = $start_error . $error . "\n</ul>"; return $error; } else { return false; } } } # END validate_upload ?> <?php function list_files() { global $the_path; $handle = dir($the_path); print "\n<b>Uploaded files:</b><br>"; while ($file = $handle->read()) { if (($file != ".") && ($file != "..")) { print "\n" . $file . "<br>"; } } print "<hr>"; } ?> <?php function upload($the_file) { global $the_path,$the_file_name; $error = validate_upload($the_file); if ($error) { form($error); } else { # cool, we can continue if (!@copy($the_file, $the_path . "/" . $the_file_name)) { form("\n<b>Something barfed, check the path to and ". "the permissions for the upload directory</b>"); } else { list_files(); form(); } } } # END upload ?> <?php print "<html>\n<head>\n<title>Upload example</title>\n</head>\n<body>"; switch($task) { case 'upload': upload($the_file); break; default: form(); } print "\n</body>\n</html>"; ?> |
![]() |
| Viewing: Dev Shed Forums > Other > Beginner Programming > using images with an html form? |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|