php 登入操作的檔案上傳管理系統

來源:互聯網
上載者:User
 代碼如下 複製代碼

<?php
$admin_pw="admin";//管理密碼
$uploaddir="upload";//上傳目錄
session_start();
if($_GET['action']=="getcode")
{
  setcode();
  exit();
}
if($_POST['password']==$admin_pw && $_POST['yz']==$_SESSION['yzcode'])
{
  $_SESSION['logined']=$admin_pw;
}
if($_GET['action']=="logout")
{
  $_SESSION['logined']="";
  header("location: ".$_SERVER['PHP_SELF']);
  exit();
}
if($_SESSION['logined']!=$admin_pw)
{
?>
<!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>請登入</title>
</head>
<body>
<form action="" method="post">
輸入密碼:<input type="password" name="password" style="width:100px;" /><br />驗證字元:<input type="text" style="width:40px;" name="yz" /><a href="#" onclick="document.tzm.src='?action=getcode';"><img src="?action=getcode" alt="驗證碼" id="tzm" name="tzm" /></a><br /><input type="submit" value="進入管理" />
</form>
</body>
</html>
<?php
}
else
{
?>
<!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>檔案上傳</title>
</head>
<body>
<?php
  if($_POST['ac']=="upload")
  {
 $fileall=explode('.',$_FILES['file']['name']);
 $filetype=$fileall[count($fileall)-1];
 $filename=$uploaddir."/".$_FILES['file']['name']."_".rand(1,999999999).".".$filetype;
 $fileexists=file_exists($filename);
 while($fileexists==true)
 {
  $filename=$uploaddir."/".$_FILES['file']['name']."_".rand(1,999999999).".".$filetype;
  $fileexists=file_exists($filename);
 }
 if(move_uploaded_file($_FILES["file"]["tmp_name"],$filename))
 {
  $url="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
  echo "檔案:".$filename." 上傳成功!<br>檔案地址:<input type=text style='width:350px;' value=".dirname($url)."/".$filename." /><a href=".dirname($url)."/".$filename." target="_blank">測試</a>";
 }
 else
 {
  echo "檔案".$filename."上傳失敗!";
 }
  }
?>
<form action="" method="post" enctype="multipart/form-data">
選擇檔案:<input type="file" name="file" id="file" width="100px" /><input type="hidden" name="ac" value="upload" /><input type="submit" value="上傳" />
</form>
<p><a href="?action=logout">退出登入</a></p>
</body>
</html>
<?php
}


function setcode()
{
  Header("Content-type: image/gif");
  $border = 0; //是否要邊框 1要:0不要
  $how = 4; //驗證碼位元
  $w = $how*15; //圖片寬度
  $h = 20; //圖片高度
  $fontsize = 5; //字型大小
  $alpha = "abcdefghijkmnopqrstuvwxyz"; //驗證碼內容1:字母
  $number = "0123456789"; //驗證碼內容2:數字
  $randcode = ""; //驗證碼字串初始化
  srand((double)microtime()*1000000); //初始化隨機數種子
  $im = ImageCreate($w, $h); //建立驗證圖片
  $bgcolor = ImageColorAllocate($im, 255, 255, 255); //設定背景顏色
  ImageFill($im, 0, 0, $bgcolor); //填充背景色
  if($border)
  {
    $black = ImageColorAllocate($im, 0, 0, 0); //設定邊框顏色
    ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//繪製邊框
  }
  for($i=0; $i<$how; $i++)
  {  
    $alpha_or_number = mt_rand(0, 1); //字母還是數字
    $str = $alpha_or_number ? $alpha : $number;
    $which = mt_rand(0, strlen($str)-1); //取哪個字元
    $code = substr($str, $which, 1); //取字元
    $j = !$i ? 4 : $j+15; //繪字元位置
    $color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字元隨即顏色
    ImageChar($im, $fontsize, $j, 3, $code, $color3); //繪字元
    $randcode .= $code; //逐位加入驗證碼字串
  }
  $_SESSION['yzcode'] = $randcode;
  Imagegif($im);
  ImageDestroy($im);
}
?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.