Jump to content

fengyuboy

New Members
  • Posts

    5
  • Joined

  • Last visited

    Never

Profile Information

  • Gender
    Not Telling

fengyuboy's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. [quote author=AndyB link=topic=106672.msg426814#msg426814 date=1157234168] Are write pernissions correctly set for the target folder? [/quote] Thanks, you are right, I got permissions set for the target folder, it is now fully functional.
  2. [url=http://www.mun.ca/bios/]http://www.mun.ca/bios/[/url] Here is the server information.
  3. [quote author=AndyB link=topic=106672.msg426814#msg426814 date=1157234168] Are write pernissions correctly set for the target folder? [/quote] how to set that?
  4. Here is the full code, file uploading class of the PHP freak tutorial.[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>imagevalidation</title> </head> <?php class Upload_Files {    var $temp_file_name;    var $file_name;    var $upload_dir;    var $upload_log_dir;    var $max_file_size;    var $banned_array;    var $ext_array; //Function #1 function validate_extension() {    //SECTION #1    $file_name = trim($this->file_name);    $extension = strtolower(strrchr($file_name,"."));    $ext_array = $this->ext_array;    $ext_count = count($ext_array);    //SECTION #2    if (!$file_name) {        return false;    } else {        if (!$ext_array) {            return true;        } else {            foreach ($ext_array as $value) {                $first_char = substr($value,0,1);                    if ($first_char <> ".") {                        $extensions[] = ".".strtolower($value);                    } else {                        $extensions[] = strtolower($value);                    }            }            //SECTION #3            foreach ($extensions as $value) {                if ($value == $extension) {                    $valid_extension = "TRUE";                }                            }            //SECTION #4            if ($valid_extension) {                return true;            } else {                return false;            }        }    } } //Function #2 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;    }     } //Function #3 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;        }    }     } //Function #4 function get_file_size() {    //SECTION #1    $temp_file_name = trim($this->temp_file_name);    $kb = 1024;    $mb = 1024 * $kb;    $gb = 1024 * $mb;    $tb = 1024 * $gb;        //SECTION #2        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; } //Function #5 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; } //Function #6 function validate_user() {    //SECTION #1    $banned_array = $this->banned_array;    $ip = trim($_SERVER['REMOTE_ADDR']);    $cpu = gethostbyaddr($ip);    $count = count($banned_array);    //SECTION #2    if ($count < 1) {        return true;    } else {        foreach($banned_array as $key => $value) {            if ($value == $ip ."-". $cpu) {                return false;            } else {                return true;            }        }    } } //Function #7 function get_upload_directory() {    //SECTION #1    $upload_dir = trim($this->upload_dir);    //SECTION #2    if ($upload_dir) {        $ud_len = strlen($upload_dir);        $last_slash = substr($upload_dir,$ud_len-1,1);            if ($last_slash <> "/") {                $upload_dir = $upload_dir."/";            } else {                    $upload_dir = $upload_dir;            }        //SECTION #3        $handle = @opendir($upload_dir);            if ($handle) {                $upload_dir = $upload_dir;                closedir($handle);            } else {                $upload_dir = "ERROR"; echo "open directory failure";            }    } else {        $upload_dir = "ERROR";    }    return $upload_dir; } //Function #8 (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; } //Function #9 (Upload The File With No Validation) function upload_file_no_validation() {    //SECTION #1    $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");    //SECTION #2    if (($upload_dir == "ERROR") OR ($upload_log_dir == "ERROR")) {        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;        }    } } //Function #10 (Upload The File With Validation) function upload_file_with_validation() {    //SECTION #1    $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();    //<-Add On    $valid_user = $this->validate_user();        //<-Add On    $valid_size = $this->validate_size();        //<-Add On    $valid_ext = $this->validate_extension();    //<-Add On    //SECTION #2    if (($upload_dir == "ERROR") OR ($upload_log_dir == "ERROR")) { echo "upload directory failure or upload log directory failure";        return false;    }    elseif ((((!$valid_user) OR (!$valid_size) OR (!$valid_ext) OR ($existing_file)))) { echo "invalid user, invalid size, invalid extension, existing file";        return false;    } else {        if (is_uploaded_file($temp_file_name)) { echo $temp_file_name.$upload_dir. $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 { echo "move file failure";                return false;            }        } else { echo "is not uploaded";            return false;        }    } } } //calling functions $upload_class = new Upload_Files; $Name_test = trim($_FILES['upload']['tmp_name']); $upload_class->temp_file_name = trim($_FILES['upload']['tmp_name']); $upload_class->file_name = trim(strtolower($_FILES['upload']['name'])); $upload_class->upload_dir = "/info/www/docs/bios/uploads/"; $upload_class->upload_log_dir = "/info/www/docs/bios/uploads/upload_logs"; $upload_class->max_file_size = 512000; $upload_class->banned_array = array(""); $upload_class->ext_array = array(".jpg",".jpeg",".gif",".png"); $valid_ext = $upload_class->validate_extension(); $valid_user = $upload_class->validate_user(); $max_size = $upload_class->get_max_size(); $file_size = $upload_class->get_file_size(); $file_exists = $upload_class->existing_file(); $valid_size = $upload_class->validate_size();    if (!$valid_ext) {        $result = "The file extension is invalid, please try again!";    }    elseif (!$valid_size) {        $result = "The file size is invalid, please try again! The maximum file size is: $max_size and your file was: $file_size";    }    elseif (!$valid_user) {        $result = "You have been banned from uploading to this server.";    }    elseif ($file_exists) {        $result = "This file already exists on the server, please try again.";    } else {        $upload_file = $upload_class->upload_file_with_validation();        if (!$upload_file) {            $result = "Your file could not be uploaded!";        } else {            $result = "Your file has been successfully uploaded to the server.";        }    } echo $result."<br/>"; include("menu.inc"); echo " to go back to the picture uploading page"; ?> <body> </body> </html> [/code]
  5. [code] //Function #10 (Upload The File With Validation) function upload_file_with_validation() {     //SECTION #1     $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();    //<-Add On     $valid_user = $this->validate_user();        //<-Add On     $valid_size = $this->validate_size();        //<-Add On     $valid_ext = $this->validate_extension();    //<-Add On     //SECTION #2     if (($upload_dir == "ERROR") OR ($upload_log_dir == "ERROR")) { echo "upload directory failure or upload log directory failure";         return false;     }     elseif ((((!$valid_user) OR (!$valid_size) OR (!$valid_ext) OR ($existing_file)))) { echo "invalid user, invalid size, invalid extension, existing file";         return false;     } else {         if (is_uploaded_file($temp_file_name)) { echo $temp_file_name.$upload_dir. $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 { echo "move file failure";                 return false;             }         } else { echo "is not uploaded";             return false;         }     } } } $upload_class = new Upload_Files; $Name_test = trim($_FILES['upload']['tmp_name']); $upload_class->temp_file_name = trim($_FILES['upload']['tmp_name']); $upload_class->file_name = trim(strtolower($_FILES['upload']['name'])); $upload_class->upload_dir = "/info/www/docs/bios/uploads/"; $upload_class->upload_log_dir = "/info/www/docs/bios/uploads/upload_logs"; $upload_class->max_file_size = 512000; $upload_class->banned_array = array(""); $upload_class->ext_array = array(".jpg",".jpeg",".gif",".png"); [/code] Here is part of the code(from the file uploading class tutorial), I tested this code on a sftp server, and the file could not be uploaded due to the move_uploaded_file() function fails. I guess there are some restrictions on the server. I have the login username and password, Is there anyway that I can put that in my code to enable file uploading?Just like a piece of code to enable uploading and downloading by logging in the sftp server. Thanks!
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.