Upload form ... require('../includes/upload/upload.php'); ?> ...
Uploaden van standen

upload alleen de volgende bestanden:
c:\szvvbase\web\standen\standen.htm


-------------------- upload.php upload_dir = $_POST['dir']; // upload directory $my_upload->extensions = array($_POST['ext']); // extensies $my_upload->max_length_filename = 200; // maximale lengte bestandsnaam $my_upload->rename_file = true; // hernoemt het bestand $my_upload->the_temp_file = $_FILES['upload']['tmp_name']; $my_upload->the_file = $_FILES['upload']['name']; $my_upload->http_error = $_FILES['upload']['error']; $my_upload->replace = (isset($_POST['replace'])) ? $_POST['replace'] : "n"; // Vervang bestand? $my_upload->do_filename_check = (isset($_POST['check'])) ? $_POST['check'] : "n"; // valideer bestandsnaam? $new_name = (isset($_POST['name'])) ? $_POST['name'] : ""; if ($my_upload->upload($new_name)) { // Nieuwe bestandsnaam $full_path = $my_upload->upload_dir.$my_upload->file_copy; $info = $my_upload->get_uploaded_file_info($full_path); // als upload geslaagd is... } } ?> -------------- upload_class.php language = "nl"; // choice of en, nl, es $this->rename_file = false; $this->ext_string = ""; } function show_error_string() { $msg_string = ""; foreach ($this->message as $value) { $msg_string .= $value."
\n"; } return $msg_string; } function set_file_name($new_name = "") { // this "conversion" is used for unique/new filenames if ($this->rename_file) { if ($this->the_file == "") return; $name = ($new_name == "") ? strtotime("now") : $new_name; sleep(3); $name = $name.$this->get_extension($this->the_file); } else { $name = str_replace(" ", "_", $this->the_file); // space will result in problems on linux systems } return $name; } function upload($to_name = "") { $new_name = $this->set_file_name($to_name); if ($this->check_file_name($new_name)) { if ($this->validateExtension()) { if (is_uploaded_file($this->the_temp_file)) { $this->file_copy = $new_name; if ($this->move_upload($this->the_temp_file, $this->file_copy)) { $this->message[] = $this->error_text($this->http_error); if ($this->rename_file) $this->message[] = $this->error_text(16); return true; } } else { $this->message[] = $this->error_text($this->http_error); return false; } } else { $this->show_extensions(); $this->message[] = $this->error_text(11); return false; } } else { return false; } } function check_file_name($the_name) { if ($the_name != "") { if (strlen($the_name) > $this->max_length_filename) { $this->message[] = $this->error_text(13); return false; } else { if ($this->do_filename_check == "y") { if (preg_match("/^[a-z0-9_]*\.(.){1,5}$/i", $the_name)) { return true; } else { $this->message[] = $this->error_text(12); return false; } } else { return true; } } } else { $this->message[] = $this->error_text(10); return false; } } function get_extension($from_file) { $ext = strtolower(strrchr($from_file,".")); return $ext; } function validateExtension() { $extension = $this->get_extension($this->the_file); $ext_array = $this->extensions; if (in_array($extension, $ext_array)) { // check mime type hier too against allowed/restricted mime types (boolean check mimetype) return true; } else { return false; } } // this method is only used for detailed error reporting function show_extensions() { $this->ext_string = implode(" ", $this->extensions); } function move_upload($tmp_file, $new_file) { if ($this->existing_file($new_file)) { $newfile = $this->upload_dir.$new_file; if ($this->check_dir($this->upload_dir)) { if (move_uploaded_file($tmp_file, $newfile)) { umask(0); chmod($newfile , 0644); return true; } else { return false; } } else { $this->message[] = $this->error_text(14); return false; } } else { $this->message[] = $this->error_text(15); return false; } } function check_dir($directory) { if (!is_dir($directory)) { if ($this->create_directory) { umask(0); mkdir($directory, 0777); return true; } else { return false; } } else { return true; } } function existing_file($file_name) { if ($this->replace == "y") { return true; } else { if (file_exists($this->upload_dir.$file_name)) { return false; } else { return true; } } } function get_uploaded_file_info($name) { $str = "File name: ".basename($name)."\n"; $str .= "File size: ".filesize($name)." bytes\n"; if (function_exists("mime_content_type")) { $str .= "Mime type: ".mime_content_type($name)."\n"; } if ($img_dim = getimagesize($name)) { $str .= "Image dimensions: x = ".$img_dim[0]."px, y = ".$img_dim[1]."px\n"; } return $str; } // this method was first located inside the foto_upload extension function del_temp_file($file) { $delete = @unlink($file); clearstatcache(); if (@file_exists($file)) { $filesys = eregi_replace("/","\\",$file); $delete = @system("del $filesys"); clearstatcache(); if (@file_exists($file)) { $delete = @chmod ($file, 0644); $delete = @unlink($file); $delete = @system("del $filesys"); } } } // this function creates a file field and if $show_alternate is true it will show a text field if the given file already exists // there is also a submit button to remove the text field value function create_file_field($element, $label = "", $length = 25, $show_replace = true, $replace_label = "Replace old file?", $file_path = "", $file_name = "", $show_alternate = false, $alt_length = 30, $alt_btn_label = "Delete image") { $field = ($label != "") ? "\n" : ""; $file_field = "\n"; $file_field .= ($show_replace) ? "".$replace_label."" : ""; if ($file_name != "" && $show_alternate) { $field .= "error_text(17), $file_name)."\" />\n" : " />\n"; $field .= "".$alt_btn_label."\n"; } else { $field .= $file_field; } return $field; } // some error (HTTP)reporting, change the messages or remove options if you like. function error_text($err_num) { switch ($this->language) { case "nl": $error[0] = "Het bestand is succesvol geupload."; $error[1] = "Het bestand is te groot, controlleer de max. toegelaten bestandsgrootte."; $error[2] = "Het bestand is te groot, controlleer de max. toegelaten bestandsgrootte."; $error[3] = "Fout bij het uploaden, probeer het nog een keer."; $error[4] = "Fout bij het uploaden, probeer het nog een keer."; $error[10] = "Selecteer eerst een bestand."; $error[11] = "Er zijn alleen bestanden van dit type toegestaan: ".$this->ext_string.""; $error[12] = "Sorry, de bestandsnaam bevat tekens die niet zijn toegestaan. Gebruik alleen nummer, letters en het underscore teken.
Een geldige naam eindigt met een punt en de extensie."; $error[13] = "De bestandsnaam is te lang, het maximum is: ".$this->max_length_filename." tekens."; $error[14] = "Sorry, de opgegeven directory bestaat niet!"; $error[15] = "Uploading ".$this->the_file."...Fout! Sorry, er is al een bestand met deze naam aanwezig."; $error[16] = "Het geuploade bestand is hernoemd naar ".$this->file_copy."."; $error[17] = "Het bestand %s bestaat niet."; break; // // place here the translations (if you need) from the directory "add_translations" // default: // start http errors $error[0] = "File: ".$this->the_file." successfully uploaded!"; $error[1] = "The uploaded file exceeds the max. upload filesize directive in the server configuration."; $error[2] = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form."; $error[3] = "The uploaded file was only partially uploaded"; $error[4] = "No file was uploaded"; // end http errors $error[10] = "Please select a file for upload."; $error[11] = "Only files with the following extensions are allowed: ".$this->ext_string.""; $error[12] = "Sorry, the filename contains invalid characters. Use only alphanumerical chars and separate parts of the name (if needed) with an underscore.
A valid filename ends with one dot followed by the extension."; $error[13] = "The filename exceeds the maximum length of ".$this->max_length_filename." characters."; $error[14] = "Sorry, the upload directory doesn't exist!"; $error[15] = "Uploading ".$this->the_file."...Error! Sorry, a file with this name already exitst."; $error[16] = "The uploaded file is renamed to ".$this->file_copy."."; $error[17] = "The file %s does not exist."; } return $error[$err_num]; } } ?>