欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php上傳功能集后綴名判斷和隨機命名(強力推薦)

 更新時間:2015年09月10日 11:32:14   投稿:mrr  
本篇文章給大家分享php上傳功能集后綴名判斷和隨機命名,代碼寫的簡單易懂,感興趣的朋友快來參考下吧

不廢話了,具體請看下文代碼示例講解。

form.php

<html>
<head>
  <meta http-equiv="content-type" content="text/html" charset="utf-8">
  <title>Upload Image</title>
</head>
<body>
<form method="post" action="upload.php" enctype="multipart/form-data">
  <input type="hidden" name="MAX_FILE_SEZE" value="2000000">
  <input type="file" name="file" value="view">
  <input type="submit" value="upload" name="B1">
</form>
</body>
</html>

upload.php

<?php
include("check.php"); // 引入自定義函數(shù)文件
$type = array("jpg", "gif", "bmp", "jpeg", "png");
// 判斷上傳文件類型
$fileext = strtolower(fileext($_FILES['file']['name']));
$uploadfilename = random(8);
if(in_array($fileext, $type)){
  $filename = explode(".", $_FILES['file']['name']);

    if(is_uploaded_file($_FILES['file']['tmp_name'])){
//    echo $_FILES['file']['tmp_name'];
    $flag = move_uploaded_file($_FILES['file']['tmp_name'], "/Library/WebServer/Documents/test/".$uploadfilename.".".$fileext);
    if($flag){
      echo "上傳成功!";
    }else{
      echo "Error.";
    }
    echo "<a href='javascript:history.go(-1)'>Back</a>";
  }
}

check.php

<?php
header("Content-type:text/html;charset=utf8");
// 獲取文件后綴名函數(shù)
function fileext($filename){
  $sTemp = strrchr($filename, ".");
  return substr($sTemp, 1);
}
function fileext2($filename){
  $sTemp = explode(".", $filename);
  return $sTemp[count($sTemp)-1];
}
// 生成隨機文件名函數(shù)
function random($length){
  $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz這是一個隨機打印輸出字符串的例子";
  $captchaResult = "2015"; // 隨機數(shù)返回值
  $captchaSentry = ""; // 隨機數(shù)中間變量
  for($i=0;$i<$length;$i++){
    $n = rand(0, 35); #strlen($captchaSource));
    if($n >= 36){
      $n = 36 + ceil(($n-36)/3) * 3;
      $captchaResult .= substr($captchaSource, $n, 3);
    }else{
      $captchaResult .= substr($captchaSource, $n, 1);
    }
  }
  return $captchaResult;
}
?>

將三個文件整合成一個:

<?php
// 獲取文件后綴名函數(shù)
function fileext($filename){
  $sTemp = strrchr($filename, ".");
  return substr($sTemp, 1);
}
function fileext2($filename){
  $sTemp = explode(".", $filename);
  return $sTemp[count($sTemp)-1];
}
// 生成隨機文件名函數(shù)
function random($length){
  $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz這是一個隨機打印輸出字符串的例子";
  $captchaResult = "2015"; // 隨機數(shù)返回值
  $captchaSentry = ""; // 隨機數(shù)中間變量
  for($i=0;$i<$length;$i++){
    $n = rand(0, 35); #strlen($captchaSource));
    if($n >= 36){
      $n = 36 + ceil(($n-36)/3) * 3;
      $captchaResult .= substr($captchaSource, $n, 3);
    }else{
      $captchaResult .= substr($captchaSource, $n, 1);
    }
  }
  return $captchaResult;
}
$type = array("jpg", "gif", "bmp", "jpeg", "png");
// 判斷上傳文件類型
$fileext = strtolower(fileext($_FILES['file']['name']));
$uploadfilename = random(8);
if(in_array($fileext, $type)){
  $filename = explode(".", $_FILES['file']['name']);
  if(is_uploaded_file($_FILES['file']['tmp_name'])){
//    echo $_FILES['file']['tmp_name'];
    $flag = move_uploaded_file($_FILES['file']['tmp_name'], "/Library/WebServer/Documents/test/".$uploadfilename.".".$fileext);
    if($flag){
      echo "上傳成功!";
    }else{
      echo "Error.";
    }
    echo "<a href='javascript:history.go(-1)'>Back</a>";
  }
}
?>
<html>
<head>
  <meta http-equiv="content-type" content="text/html" charset="utf-8">
  <title>Upload Image</title>
</head>
<body>
<form method="post" action="" enctype="multipart/form-data">
  <input type="hidden" name="MAX_FILE_SEZE" value="2000000">
  <input type="file" name="file" value="view">
  <input type="submit" value="upload" name="B1">
</form>
</body>
</html>

以上內(nèi)容就是給大家講解的php上傳功能集后綴名判斷和隨機命名(強力推薦),希望大家喜歡。

相關文章

  • PHP數(shù)組 為文章加關鍵字連接 文章內(nèi)容自動加鏈接

    PHP數(shù)組 為文章加關鍵字連接 文章內(nèi)容自動加鏈接

    PHP給文章加關鍵字連接,像163文章內(nèi)容自動加鏈接效果,其實很多php網(wǎng)站管理系統(tǒng)里面都有,可以參考里面的代碼。
    2011-12-12
  • PHP實現(xiàn)mysqli批量執(zhí)行多條語句的方法示例

    PHP實現(xiàn)mysqli批量執(zhí)行多條語句的方法示例

    這篇文章主要介紹了PHP實現(xiàn)mysqli批量執(zhí)行多條語句的方法,結合實例形式分析了php連接mysqli并批量執(zhí)行多條語句的相關操作技巧,需要的朋友可以參考下
    2017-07-07
  • PHP中多維數(shù)組的foreach遍歷示例

    PHP中多維數(shù)組的foreach遍歷示例

    這篇文章主要介紹了PHP中多維數(shù)組的foreach遍歷,需要的朋友可以參考下
    2014-06-06
  • PHP取余函數(shù)介紹MOD(x,y)與x%y

    PHP取余函數(shù)介紹MOD(x,y)與x%y

    php取余數(shù)用%符號,即為模運算,取余數(shù)的意思,這玩意使用起來可要注意啦
    2014-05-05
  • PHP 數(shù)組操作詳解【遍歷、指針、函數(shù)等】

    PHP 數(shù)組操作詳解【遍歷、指針、函數(shù)等】

    這篇文章主要介紹了PHP 數(shù)組操作,結合實例形式詳細分析了PHP數(shù)組遍歷、指針、數(shù)組常用函數(shù)等相關原理、使用技巧與操作注意事項,需要的朋友可以參考下
    2020-05-05
  • PHP采用XML-RPC構造Web Service實例教程

    PHP采用XML-RPC構造Web Service實例教程

    這篇文章主要介紹了PHP采用XML-RPC構造Web Service,需要的朋友可以參考下
    2014-07-07
  • php中time()與$_SERVER[REQUEST_TIME]用法區(qū)別

    php中time()與$_SERVER[REQUEST_TIME]用法區(qū)別

    這篇文章主要介紹了php中time()與$_SERVER[REQUEST_TIME]用法區(qū)別,詳細分析了time()與$_SERVER[REQUEST_TIME]的用法,并以實例形式對比總結了二者在獲取當前系統(tǒng)時間戳與請求時間戳的區(qū)別,需要的朋友可以參考下
    2014-11-11
  • php程序的國際化實現(xiàn)方法(利用gettext)

    php程序的國際化實現(xiàn)方法(利用gettext)

    這里我們主要介紹window平臺下使用php的擴展gettext實現(xiàn)程序的國際化。
    2011-08-08
  • PHP生成圖表pChart的示例解析

    PHP生成圖表pChart的示例解析

    這篇文章主要介紹了PHP生成圖表pChart的示例解析,文中通過解析pChartd 工作流程和不同圖表的代碼展示,講解的非常詳細,對大家的學習或工作具有一定的參考價值,有需要的來和小編一起學習把吧
    2020-07-07
  • php設計模式介紹之值對象模式

    php設計模式介紹之值對象模式

    在所有的最簡單的程序中,大多數(shù)對象都有一個標識,一個重要的商業(yè)應用對象,例如一個Customer或者一個SKU,有一個或者更多的屬性---id,name,email地址,這樣可以把它從同一個類的其他實例區(qū)分開來。此外,對象有一個恒定的標識:它是貫穿于整個應用程序的一個唯一的標識,對于程序員來說,”customer A”在任何地方就是”customer A”,并且只要你的程序在持續(xù)運行時"customer A"仍然是"customer A"。 但是一個對象不需要有一個標識。有些對象僅僅是為了描述其他對象的屬性。
    2008-04-04

最新評論