首页 > 编程技术 > php

超简单的php文件上传程序

发布时间:2016-11-25 15:11

本文章提供一款简单的php文件上传程序,很简单就是利用了move_uploaded_file把文件上传到与你php 同一目录的下面哦。
 代码如下 复制代码

<!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=gb2312" />
<title>超简单的php文件上传程序</title>
</head>

<body>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
  <label for="filefield"></label>
  <input type="file" name="name" id="filefield" />
  <input type="submit" name="button" id="button" value="开始上传文件" />
</form>
</body>
</html>

<?
//文件上传

 代码如下 复制代码
if($_files )
{
 upfiles($_files,'./');
}
function upfiles($files,$path){
 global $nowtimestamp;
 $exname=strtolower(substr($files['name'],(strrpos($files['name'],'.')+1)));
 $i=1;
   if (!move_uploaded_file($files['tmp_name'], $path.$nowtimestamp.".".$exname)) {
  showmessage("上传文件失败,请稍后重试!","?job=add",true);
 }
 return  $path.$nowtimestamp.".".$exname;
}

?>

*/

 代码如下 复制代码
$ref = isset($_server['http_referer'])?$_server['http_referer']:'';
echo $ref;
if(strpos($ref,'192.168.0.119')!==false)
{
 echo '来路正确!';
}
else
{
 echo '错误来路';
}
?>


<a href="http://down.111cn.net/plus/download.php?open=0&aid=20861&cid=3">判断来路</a>

多个文件上传功能,其实很简单与单文件上传区别就是文件名用数组形式,然后获取上传的文件时就利用foreach来个个上传,这样就实例的文件批量上传的功能了哦。其它也是单文件,只是看上去是多个文件同时上传了。
 代码如下 复制代码

<!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=gb2312" />
<title>php 多个文件上传</title>
</head>

<body>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <p>
    <label for="select"></label>
    <label for="filefield"></label>
    <input type="file" name="name[]" id="filefield" />
  </p>
  <p>
    <input type="file" name="name[]" id="filefield2" />
  </p>
  <p>
    <input type="file" name="name[]" id="filefield3" />
  </p>
  <p>
    <input type="file" name="name[]" id="filefield4" />
  </p>
  <p>
    <input type="file" name="name[]" id="filefield5" />
  </p>
  <p>
    <input type="submit" name="button" id="button" value="批量文件上传" />
  </p>
</form>
</body>
</html>

<?php

foreach($_files as $f)
{
 //处理中文名
 if (function_exists("iconv"))  $f[name] = iconv("utf-8","gb2312",$f[name]);

 $unm=intval(mt_rand(1000,9999));
 $file="z_upload/".date("ymdhms").$unm.$f[name];

 //检查是否已经存在同名文件
 if (file_exists($file))  header("http/1.0 403");
 //保存文件
 
 if (!@move_uploaded_file($f["tmp_name"],$file)) 
 {
 header("http/1.0 404 not found");
 }else{
 if(!isset($_cookie['uploadpic'])){
   setcookie("uploadpic",$file);
}else{
unlink($_cookie['uploadpic']);
setcookie("uploadpic","");
setcookie("uploadpic",$file);
}
 echo "1";
 
 }
}
?>

这款php获取当前url 与参数的代码,一般用于分页哦,智能分页时就会要动态的获取url与参数,以方便下一页时获取正确的数据哦。
 代码如下 复制代码

 function get_url()
 {
  $url = $_server['request_uri'];
  $parse_url = parse_url($url);
  $query_url = $parse_url['query']; //取出url上的参数

  if($query_url)
  {
   //将&page 替换为空
   $query_url = ereg_replace("(^|&)page=$this->page","",$query_url);
   $url = str_replace($parse_url['query'],$query_url,$url);
   if($query_url)$url .= '&page';
   else $url .= 'page';
  }
  else
  {
   $url .= '?page';
  }
  return $url;
 }

/

 代码如下 复制代码
 function funcnum($str,$num1='',$num2='')//数字正则表达试
 {
  if($num1!='' and $num2!=''){
   return (preg_match("/^[0-9]{".$num1.",".$num2."}$/",$str))?true:false;
  }else{
   return (preg_match("/^[0-9]/",$str))?true:false;
  }
 }

/*
一般情况下,要只限制全数字,大多用到正则解决是最方法的了。

标签:[!--infotagslink--]

您可能感兴趣的文章: