here is the working script on my local windows machine. note that you will need to change $the_path Everything is pretty self explanatory. You can read the article that I took this from at http://phpbuilder.com/columns/bealers20000904.php3 olinux ============================================================================ ==== <? $my_max_file_size = "102400"; # in bytes $image_max_width = "400"; $image_max_height = "400"; $the_path = "c:/program files/apache group/apache/htdocs/uploads"; $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/gif" => ".gif", "image/pjpeg" => ".jpg, .jpeg", "image/jpeg" => ".jpg, .jpeg", "image/png" => ".png", ); # these are only a few examples, you can find many more! $allowed_types = array("image/gif","image/jpeg","image/pjpeg","image/png"); # -- 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 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))) { $the_file = stripslashes($the_file); $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 # -- 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>"; } # -- function upload($the_file) { global $the_path,$the_file_name; $error = validate_upload($the_file); if ($error) { form($error); } else { # cool, we can continue $the_file = stripslashes($the_file); 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 # -- ############ Start page 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>"; ?> ============================================================================ ==== enjoy, olinux ----- Original Message ----- From: Josh Gasber To: [EMAIL PROTECTED] Sent: Sunday, March 25, 2001 2:42 PM Subject: RE: [PHPLearners] uploading files. olinux, I would be interested in hearing the solution, can you please pass it on. Thanks, Josh