文件上传函数(有空会自己修改)

来源:互联网 发布:2017年10月份宏观数据 编辑:程序博客网 时间:2024/06/05 07:32

CODE

 <?php/** * A function for easily uploading files. This function will automatically generate a new  *        file name so that files are not overwritten. * Taken From: http://www.bin-co.com/php/scripts/upload_function/ * Arguments:    $file_id- The name of the input field contianing the file. *                $folder    - The folder to which the file should be uploaded to - it must be writable. OPTIONAL *                $types    - A list of comma(,) seperated extensions that can be uploaded. If it is empty, anything goes OPTIONAL * Returns  : This is somewhat complicated - this function returns an array with two values... *                The first element is randomly generated filename to which the file was uploaded to. *                The second element is the status - if the upload failed, it will be 'Error : Cannot upload the file 'name.txt'.' or something like that */function upload($file_id, $folder="", $types="") {    if(!$_FILES[$file_id]['name']) return array('','No file specified');    $file_title = $_FILES[$file_id]['name'];    //Get file extension    $ext_arr = split("\.",basename($file_title));    $ext = strtolower($ext_arr[count($ext_arr)-1]); //Get the last extension    //Not really uniqe - but for all practical reasons, it is    $uniqer = substr(md5(uniqid(rand(),1)),0,5);    $file_name = $uniqer . '_' . $file_title;//Get Unique Name    $all_types = explode(",",strtolower($types));    if($types) {        if(in_array($ext,$all_types));        else {            $result = "'".$_FILES[$file_id]['name']."' is not a valid file."; //Show error if any.            return array('',$result);        }    }    //Where the file must be uploaded to    if($folder) $folder .= '/';//Add a '/' at the end of the folder    $uploadfile = $folder . $file_name;    $result = '';    //Move the file from the stored location to the new location    if (!move_uploaded_file($_FILES[$file_id]['tmp_name'], $uploadfile)) {        $result = "Cannot upload the file '".$_FILES[$file_id]['name']."'"; //Show error if any.        if(!file_exists($folder)) {            $result .= " : Folder don't exist.";        } elseif(!is_writable($folder)) {            $result .= " : Folder not writable.";        } elseif(!is_writable($uploadfile)) {            $result .= " : File not writable.";        }        $file_name = '';    } else {        if(!$_FILES[$file_id]['size']) { //Check if the file is made            @unlink($uploadfile);//Delete the Empty file            $file_name = '';            $result = "Empty file found - please use a valid file."; //Show the error message        } else {            chmod($uploadfile,0777);//Make it universally writable.        }    }    return array($file_name,$result);} 

Sample
PHP Part

if($_FILES['image']['name']) {    list($file,$error) = upload('image','uploads/','jpeg,gif,png');    if($error) print $error;}

HTML Part

<form action="" method="post" enctype="multipart/form-data"><input type="file" name="image" /><input type="submit" value="Upload" name="action" /></form>
0 0
原创粉丝点击