kevdoug Posted July 26, 2006 Share Posted July 26, 2006 Hi as the subject says I am trying to upload an image to the server and at the same time add the url to the database. I have achieved both seperately but I am have difficulty combining them. Here is the code I am trying.[color=green]<form enctype="multipart/form-data" action="uploader.php" method="POST"><input type="hidden" name="MAX_FILE_SIZE" value="100000000000" />Choose a file to upload: <input name="uploadedfile" type="file" /><br /><input type="submit" value="Upload File" /></form>[/color] This the form to browse for image and pass it to the uploaderphp file which uploads the file to the server.This is where I am struggling. I have the results from the upload form passed to the uploader.php page and I am trying to pass it onto the uploaderupdate.php but I am having no success in passing the variable stored as file. Here are the uploader.php [color=red]<form name="load" action="uploaderupdate.php" method="post"><?php// Where the file is going to be placed $target_path = "C:\kev\ ";/* Add the original filename to our target path. */$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded to folder $target_path"; } else { echo "There was an error uploading the file, please try again!"; }$file = $target_path; echo $file; $file = 'file'; echo $file; ?> <tr><td><input type='hidden' name='file' /></td><td valign = "top"><input type="submit" name="submit" value="Add new photo"></td></tr> <?php?> </form>[/color]and uploaderupdate.php files.[color=navy]<?php $user = $_POST['file']; $user = strtoupper($user); echo $user; ?>[/color] Quote Link to comment https://forums.phpfreaks.com/topic/15676-upload-image-to-server-and-url-to-database/ Share on other sites More sharing options...
ozPATT Posted July 26, 2006 Share Posted July 26, 2006 this is a cool class to do what you want... usage is at the bottom, and you can either upload with no validation, or with. pretty easy to get your head around, just copy all this into a file, call it something like class.fileupload.php, and include that in your page. then use the usage instructions at the bottom, wherever you want to use it. [code]<?php class Upload_Files { //vars var $temp_file_name; var $file_name; var $upload_dir; var $upload_log_dir; var $max_file_size; var $banned_array; var $ext_array; //Validation of file extensions function validate_extension() { //set vars $file_name = trim($this->file_name); $extension = strtolower(strchr($file_name, ".")); $ext_array = $this->ext_array; $ext_count = count($ext_array); //start validation process if(!$file_name) { return false; } else { if(!$ext_array) { return true; } else { //put extensions into an array foreach($ext_array as $value) { $first_char = substr($value, 0, 1); if($first_char <> ".") { $extensions[] = "." . strtolower($value); } else { $extensions[] = strtolower($value); } } //find out if the extension is valid foreach($extensions as $value) { if($value == $extension) { $valid_extension = true; } } //is the $valid_extension variable present? if($valid_extension) { return true; } else { return false; } } } } //validation of file size function validate_size() { $temp_file_name = trim($this->temp_file_name); $max_file_size = trim($this->max_file_size); if($temp_file_name) { $size = filesize($temp_file_name); if($size > $max_file_size) { return false; } else { return true; } } else { return false; } } //does file already exist? function existing_file() { $file_name = trim($this->file_name); $upload_dir = $this->get_upload_directory(); if($upload_dir == "ERROR") { return true; } else { $file = $upload_dir . $file_name; if(file_exists($file)) { return true; } else { return false; } } } //extract the file size function get_file_size() { $temp_file_name = trim($this->temp_file_name); $kb = 1024; $mb = 1024 * $kb; $gb = 1024 * $mb; $tb = 1024 * $gb; if($temp_file_name) { $size = filesize($temp_file_name); if($size < $kb) { $file_size = "$size Bytes"; } elseif($size < $mb) { $final = round($size/$kb, 2); $file_size = "$final KB"; } elseif($size < $gb) { $final = round($size/$mb, 2); $file_size = "$final MB"; } elseif($size < $tb) { $final = round($size/$gb, 2); $file_size = "$final GB"; } else { $final = round($size/$tb, 2); $file_size = "$final TB"; } } else { $file_size = "ERROR NO FILE PASSED TO get_file_size()"; } return $file_size; } //extract the max file size function get_max_size() { $max_file_size = trim($this->max_file_size); $kb = 1024; $mb = 1024 * $kb; $gb = 1024 * $mb; $tb = 1024 * $gb; if($max_file_size) { if($max_file_size < $kb) { $max_file_size = "$max_file_size Bytes"; } elseif($max_file_size < $mb) { $final = round($max_file_size/$kb, 2); $max_file_size = "$final KB"; } elseif($max_file_size < $gb) { $final = round($max_file_size/$mb, 2); $max_file_size = "$final MB"; } elseif($max_file_size < $tb) { $final = round($max_file_size/$gb, 2); $max_file_size = "$final GB"; } else { $final = round($max_file_size/$tb, 2); $max_file_size = "$final TB"; } } else { $max_file_size = "ERROR: NO SIZE PARAMETER PASSED TO get_max_size()"; } return $max_file_size; } //validation of the user function validate_user() { $banned_array = $this->banned_array; $ip = trim($_SERVER['REMOTE_ADDR']); $cpu = gethostbyaddr($ip); $count = count($banned_array); if($count < 1) { return true; } else { foreach($banned_array as $key => $value) { if($value == $ip . "-" . $cpu) { return false; } else { return true; } } } } //verify the upload directory function get_upload_directory() { $upload_dir = trim($this->upload_dir); if($upload_dir) { $ud_len = strlen($upload_dir); $last_slash = substr($upload_dir, $ud_len-1, 1); if($last_sleash <> "/") { $upload_dir = $upload_dir . "/"; } else { $upload_dir = $upload_dir; } $handle = @opendir($upload_dir); if($handle) { $upload_dir = $upload_dir; closedir($handle); } else { $upload_dir = "ERROR"; } } else { $upload_dir = "ERROR"; } return $upload_dir; } //verify the upload log directory function get_upload_log_directory() { $upload_log_dir = trim($this->upload_log_dir); if($upload_log_dir) { $ud_len = strlen($upload_log_dir); $last_slash = substr($upload_log_dir, $ud_len-1, 1); if($last_slash <> "/") { $upload_log_dir = $upload_log_dir . "/"; } else { $upload_log_dir = $upload_log_dir; } $handle = @opendir($upload_log_dir); if($handle) { $upload_log_dir = $upload_log_dir; closedir($handle); } else { $upload_log_dir = "ERROR"; } } else { $upload_log_dir = "ERROR"; } return $upload_log_dir; } //upload the file with no validation function upload_file_no_validation() { $temp_file_name = trim($this->temp_file_name); $file_name = trim(strtolower($this->file_name)); $upload_dir = $this->get_upload_directory(); $upload_log_dir = $this->get_upload_log_directory(); $file_size = $this->get_file_size(); $ip = trim($_SERVER['REMOTE_ADDR']); $cpu = gethostbyaddr($ip); $m = date("m"); $d = date("d"); $y = date("Y"); $date = date("m/d/Y"); $time = date("h:i:s A"); if(($upload_dir == "ERROR") || ($upload_log_dir == "ERROR")) { return false; } else { if(is_uploaded_file($temp_file_name)) { if(move_uploaded_file($temp_file_name, $upload_dir . $_SESSION['uid'] . '_' . $file_name)) { $log = $upload_log_dir . $y . "_" . $m . "_" . $d . ".txt"; $fp = fopen($log, "a+"); fwrite($fp, "$ip-$cpu | $file_name | $file_size | $date | $time"); fclose($fp); return true; } else { return false; } } else { return false; } } } //upload file with validation function upload_file_with_validation() { $temp_file_name = trim($this->temp_file_name); $file_name = trim(strtolower($this->file_name)); $upload_dir = $this->get_upload_directory(); $upload_log_dir = $this->get_upload_log_directory(); $file_size = $this->get_file_size(); $ip = trim($_SERVER['REMOTE_ADDR']); $cpu = gethostbyaddr($ip); $m = date("m"); $d = date("d"); $y = date("Y"); $date = date("m/d/Y"); $time = date("h:i:s A"); $existing_file = $this->existing_file(); $valid_user = $this->validate_user(); $valid_size = $this->validate_size(); $valid_ext = $this->validate_extension(); if(($upload_dir == "ERROR") || ($upload_log_dir == "ERROR")) { return false; } elseif((((!$valid_user) || (!$valid_ext) || (!$valid_size) || ($existing_file)))) { return false; } else { if(is_uploaded_file($temp_file_name)) { if(move_uploaded_file($temp_file_name, $upload_dir . $file_name)) { $log = $upload_log_dir . $y . "_" . $m . "_" . $d . ".txt"; $fp = fopen($log, "a+"); fwrite($fp, "$ip-$cpu | $file_name | $file_size | $date | $time"); fclose($fp); return true; } else { return false; } } else { return false; } } }} //usage /* $upload_class = new Upload_Files; $upload_class->temp_file_name = trim($_FILES['upload']['tmp_name']); $upload_class->file_name = trim(strtolower($_FILES['upload']['name'])); $upload_class->upload_dir = "uploads/"; $upload_class->upload_log_dir = "uploads/upload_logs/"; $upload_class->max_file_size = 524288; $upload_class->banned_array = array(""); $upload_class->ext_array = array(".jpg", ".gif", ".jpeg", ".png"); $valid_ext = $upload_class->validate_extension(); $valid_size = $upload_class->validate_size(); $validate_user = $upload_class->validate_user(); $max_size = $upload_class->get_max_size(); $file_size = $upload_class->get_file_size(); $upload_directory= $upload_class->get_upload_directory(); $upload_log_directory = $upload_class->get_upload_log_directory(); $upload_file = $upload_class->upload_file_with_validation(); */?>[/code]any questions, just ask... Quote Link to comment https://forums.phpfreaks.com/topic/15676-upload-image-to-server-and-url-to-database/#findComment-64012 Share on other sites More sharing options...
kevdoug Posted July 26, 2006 Author Share Posted July 26, 2006 [quote author=ozPATT link=topic=101907.msg403840#msg403840 date=1153922262]this is a cool class to do what you want... usage is at the bottom, and you can either upload with no validation, or with. pretty easy to get your head around, just copy all this into a file, call it something like class.fileupload.php, and include that in your page. then use the usage instructions at the bottom, wherever you want to use it. [code]<?php class Upload_Files { //vars var $temp_file_name; var $file_name; var $upload_dir; var $upload_log_dir; var $max_file_size; var $banned_array; var $ext_array; //Validation of file extensions function validate_extension() { //set vars $file_name = trim($this->file_name); $extension = strtolower(strchr($file_name, ".")); $ext_array = $this->ext_array; $ext_count = count($ext_array); //start validation process if(!$file_name) { return false; } else { if(!$ext_array) { return true; } else { //put extensions into an array foreach($ext_array as $value) { $first_char = substr($value, 0, 1); if($first_char <> ".") { $extensions[] = "." . strtolower($value); } else { $extensions[] = strtolower($value); } } //find out if the extension is valid foreach($extensions as $value) { if($value == $extension) { $valid_extension = true; } } //is the $valid_extension variable present? if($valid_extension) { return true; } else { return false; } } } } //validation of file size function validate_size() { $temp_file_name = trim($this->temp_file_name); $max_file_size = trim($this->max_file_size); if($temp_file_name) { $size = filesize($temp_file_name); if($size > $max_file_size) { return false; } else { return true; } } else { return false; } } //does file already exist? function existing_file() { $file_name = trim($this->file_name); $upload_dir = $this->get_upload_directory(); if($upload_dir == "ERROR") { return true; } else { $file = $upload_dir . $file_name; if(file_exists($file)) { return true; } else { return false; } } } //extract the file size function get_file_size() { $temp_file_name = trim($this->temp_file_name); $kb = 1024; $mb = 1024 * $kb; $gb = 1024 * $mb; $tb = 1024 * $gb; if($temp_file_name) { $size = filesize($temp_file_name); if($size < $kb) { $file_size = "$size Bytes"; } elseif($size < $mb) { $final = round($size/$kb, 2); $file_size = "$final KB"; } elseif($size < $gb) { $final = round($size/$mb, 2); $file_size = "$final MB"; } elseif($size < $tb) { $final = round($size/$gb, 2); $file_size = "$final GB"; } else { $final = round($size/$tb, 2); $file_size = "$final TB"; } } else { $file_size = "ERROR NO FILE PASSED TO get_file_size()"; } return $file_size; } //extract the max file size function get_max_size() { $max_file_size = trim($this->max_file_size); $kb = 1024; $mb = 1024 * $kb; $gb = 1024 * $mb; $tb = 1024 * $gb; if($max_file_size) { if($max_file_size < $kb) { $max_file_size = "$max_file_size Bytes"; } elseif($max_file_size < $mb) { $final = round($max_file_size/$kb, 2); $max_file_size = "$final KB"; } elseif($max_file_size < $gb) { $final = round($max_file_size/$mb, 2); $max_file_size = "$final MB"; } elseif($max_file_size < $tb) { $final = round($max_file_size/$gb, 2); $max_file_size = "$final GB"; } else { $final = round($max_file_size/$tb, 2); $max_file_size = "$final TB"; } } else { $max_file_size = "ERROR: NO SIZE PARAMETER PASSED TO get_max_size()"; } return $max_file_size; } //validation of the user function validate_user() { $banned_array = $this->banned_array; $ip = trim($_SERVER['REMOTE_ADDR']); $cpu = gethostbyaddr($ip); $count = count($banned_array); if($count < 1) { return true; } else { foreach($banned_array as $key => $value) { if($value == $ip . "-" . $cpu) { return false; } else { return true; } } } } //verify the upload directory function get_upload_directory() { $upload_dir = trim($this->upload_dir); if($upload_dir) { $ud_len = strlen($upload_dir); $last_slash = substr($upload_dir, $ud_len-1, 1); if($last_sleash <> "/") { $upload_dir = $upload_dir . "/"; } else { $upload_dir = $upload_dir; } $handle = @opendir($upload_dir); if($handle) { $upload_dir = $upload_dir; closedir($handle); } else { $upload_dir = "ERROR"; } } else { $upload_dir = "ERROR"; } return $upload_dir; } //verify the upload log directory function get_upload_log_directory() { $upload_log_dir = trim($this->upload_log_dir); if($upload_log_dir) { $ud_len = strlen($upload_log_dir); $last_slash = substr($upload_log_dir, $ud_len-1, 1); if($last_slash <> "/") { $upload_log_dir = $upload_log_dir . "/"; } else { $upload_log_dir = $upload_log_dir; } $handle = @opendir($upload_log_dir); if($handle) { $upload_log_dir = $upload_log_dir; closedir($handle); } else { $upload_log_dir = "ERROR"; } } else { $upload_log_dir = "ERROR"; } return $upload_log_dir; } //upload the file with no validation function upload_file_no_validation() { $temp_file_name = trim($this->temp_file_name); $file_name = trim(strtolower($this->file_name)); $upload_dir = $this->get_upload_directory(); $upload_log_dir = $this->get_upload_log_directory(); $file_size = $this->get_file_size(); $ip = trim($_SERVER['REMOTE_ADDR']); $cpu = gethostbyaddr($ip); $m = date("m"); $d = date("d"); $y = date("Y"); $date = date("m/d/Y"); $time = date("h:i:s A"); if(($upload_dir == "ERROR") || ($upload_log_dir == "ERROR")) { return false; } else { if(is_uploaded_file($temp_file_name)) { if(move_uploaded_file($temp_file_name, $upload_dir . $_SESSION['uid'] . '_' . $file_name)) { $log = $upload_log_dir . $y . "_" . $m . "_" . $d . ".txt"; $fp = fopen($log, "a+"); fwrite($fp, "$ip-$cpu | $file_name | $file_size | $date | $time"); fclose($fp); return true; } else { return false; } } else { return false; } } } //upload file with validation function upload_file_with_validation() { $temp_file_name = trim($this->temp_file_name); $file_name = trim(strtolower($this->file_name)); $upload_dir = $this->get_upload_directory(); $upload_log_dir = $this->get_upload_log_directory(); $file_size = $this->get_file_size(); $ip = trim($_SERVER['REMOTE_ADDR']); $cpu = gethostbyaddr($ip); $m = date("m"); $d = date("d"); $y = date("Y"); $date = date("m/d/Y"); $time = date("h:i:s A"); $existing_file = $this->existing_file(); $valid_user = $this->validate_user(); $valid_size = $this->validate_size(); $valid_ext = $this->validate_extension(); if(($upload_dir == "ERROR") || ($upload_log_dir == "ERROR")) { return false; } elseif((((!$valid_user) || (!$valid_ext) || (!$valid_size) || ($existing_file)))) { return false; } else { if(is_uploaded_file($temp_file_name)) { if(move_uploaded_file($temp_file_name, $upload_dir . $file_name)) { $log = $upload_log_dir . $y . "_" . $m . "_" . $d . ".txt"; $fp = fopen($log, "a+"); fwrite($fp, "$ip-$cpu | $file_name | $file_size | $date | $time"); fclose($fp); return true; } else { return false; } } else { return false; } } }} //usage /* $upload_class = new Upload_Files; $upload_class->temp_file_name = trim($_FILES['upload']['tmp_name']); $upload_class->file_name = trim(strtolower($_FILES['upload']['name'])); $upload_class->upload_dir = "uploads/"; $upload_class->upload_log_dir = "uploads/upload_logs/"; $upload_class->max_file_size = 524288; $upload_class->banned_array = array(""); $upload_class->ext_array = array(".jpg", ".gif", ".jpeg", ".png"); $valid_ext = $upload_class->validate_extension(); $valid_size = $upload_class->validate_size(); $validate_user = $upload_class->validate_user(); $max_size = $upload_class->get_max_size(); $file_size = $upload_class->get_file_size(); $upload_directory= $upload_class->get_upload_directory(); $upload_log_directory = $upload_class->get_upload_log_directory(); $upload_file = $upload_class->upload_file_with_validation(); */?>[/code]any questions, just ask...[/quote]Thanks ozPATT but I need it for a project and need to be able explain the code. Quote Link to comment https://forums.phpfreaks.com/topic/15676-upload-image-to-server-and-url-to-database/#findComment-64051 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.