程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP5圖片上傳代碼,日期文件夾,隨機文件名

PHP5圖片上傳代碼,日期文件夾,隨機文件名

編輯:關於PHP編程

index.htm

<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file">  
<input type="submit" value="上傳文件">
</form>

upload.php

<?
$f=$_FILES[jeff_img_upload];

//有沒有傳文件判斷
if ($f[error]==4){
echo("<script>alert(請選擇你要上傳的文件,謝謝!);location.href=index.htm;</script>");
}
else{
//出錯判斷
if ($f[error]){
echo "失敗,文件太大了!錯誤代碼是".$f[error];
exit;
}

//類型判斷
if (substr($f[type], 0, 5) == image) {
                    switch ($f[type]) {
                        case image/jpeg:
                        case image/jpg:
                        case image/pjpeg:
                            $ext = .jpg;
                            break;
                        case image/gif:
                            $ext = .gif;
                            break;
                        case image/png:
                        case image/x-png:
                            $ext = .png;
                            break;
                        default:
                            header(Content-type: text/html; charset=UTF-8);
                            echo("<script>alert(你傳的不是圖片吧?);location.href=index.htm;< /script>");
                            die(REDIRECTING...);
                            break;
                    }
}else {
                    header(Content-type: text/html; charset=UTF-8);
                    echo("<script>alert(你傳的不是圖片吧?);location.href=index.htm;</script>");
                    die(REDIRECTING...);
                }

//生成隨機數
$randomnum=NULL;
for($j=0;$j<=5;$j++)//隨機數字的長度,本例隨機數長度為6
{
srand((double)microtime()*1000000);
$randomnumber=rand(!$j ? 1: 0,9);//產生隨機數,不以0為第一個數,有些特殊的地方0開頭被系統省略
$randomnum.=$randomnumber;
}


$dest_dir=/var/www/htdocs/upload;//設定上傳目錄

//生成日期目錄。先判斷日期目錄是否存在,不存在則創建它。
if(!file_exists(date("Ymd"))){
mkdir(date("Ymd"),0777);}


$dest=$dest_dir./.date("Ymd")./.time()._.$randomnum.$ext;//設置文件名為時間戳加上隨機數避免重復
$r=move_uploaded_file($f[tmp_name],$dest);
chmod($dest, 0777);//設定上傳的文件的屬性
}
echo "成功了,文件地址是:".$dest;
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved