当前位置:  编程技术>php
本页文章导读:
    ▪php文件上传综合实例分享      1、文件上传 upload.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>php文件上传-www.</title> <meta http-equiv="content-type" content="text/html; charset=U.........
    ▪php会话技术之cookie的例子      例如,要显示登录时间,第一次登录就提示,您是第一次登录,否则就显示您上一次登录的时间。 代码: <?php //显示上次登录的时间 if(!empty($_COOKIE['lastvisit'])){ echo "您上次.........
    ▪php记录蜘蛛爬行历史的实现代码      PHP记录蜘蛛爬行历史的代码,如下: <? function //记录蜘蛛爬行记录,判断来自哪种搜索引擎 get_naps_bot() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebot') !== false){.........

[1]php文件上传综合实例分享
    来源: 互联网  发布时间: 2013-12-24

1、文件上传 upload.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>php文件上传-www.</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">    
  </head>     
  <body>
        <!--注意:1、要有enctype,2、method="post"-->
    <form enctype="multipart/form-data" action="/blog_article/uploadProcess.html" method="post" >
        <table>
            <tr><td>请填写用户名</td><td><input type="text" name="username"></td></tr>
            <tr><td>请简单介绍文件</td><td><textarea rows="7" cols="50" name="fileintro" ></textarea></td></tr>
            <tr><td>请上传你的文件</td><td><input type="file" name="myfile"></td></tr>
            <tr><td colspan="2"><input type="submit" value="上传"><td></tr>
        </table>
    </form>
  </body>
</html>

2、文件上传结果 uploadProcess.php

<?php
    //接收
    $username=$_POST['username'];
    $fileintro=$_POST['fileintro'];
    
    //echo $username.$fileintro;
    //获取文件信息
/*    echo "<pre>";
    print_r($_FILES);
    echo "</pre>";
*/    
    //获取文件的大小
    $file_size=$_FILES['myfile']['size'];
    if($file_size>2*1024*1024){
        echo "<script type='text/javascript'>window.alert('文件不能大于2M')</script>";
        exit();
    }

    //获取文件类型
    $file_type=$_FILES['myfile']['type'];
    if($file_type!="image/jpeg" && $file_type!="image/pjpeg"){
        echo "文件类型只能是 jpg 格式";
        exit();
    }
    //判断上传是否OK
    if(is_uploaded_file($_FILES['myfile']['tmp_name'])){
        //得到上传的文件 转存到你希望的目录
        $upload_file=$_FILES['myfile']['tmp_name'];
        
        //防止图片覆盖问题,为每个用户建立一个文件夹    
        $user_path=$_SERVER['DOCUMENT_ROOT']."/file/up/".$username;
        if(!file_exists($user_path)){
            mkdir ($user_path);
        }

        //$move_to_file=$user_path."/".$_FILES['myfile']['name'];
        //防止用户上传用户名相同的问题
        $file_true_name=$_FILES['myfile']['name'];
        $move_to_file=$user_path."/".time().rand(1,1000).substr($file_true_name,strripos($file_true_name,"."));

        //echo $upload_file.$move_to_file;
        //中文要转码
        if(move_uploaded_file($upload_file,iconv("utf-8","gb2312","$move_to_file"))){
            echo $_FILES['myfile']['name']."上传成功";
        }else{
            echo "上传失败";
        }
    }else{
        echo "上传失败";
    }
?>

3、封装:

<?php
/**
* php文件上传类
* by www.
*/
    class Upload{
        public $upload_name; //上传文件名
        public $upload_tmp_path; //上传文件保存到服务器的temp路径
        public $file_size;
        public $file_type;
        public $file_save_path;

        function __construct(){
            $this->upload_name=$_FILES['myfile']['name'];
            $this->upload_tmp_path=$_FILES['myfile']['tmp_name'];
            $this->file_size=$_FILES['myfile']['size'];
            $this->file_type=$_FILES['myfile']['type'];
            $this->allow_file_type = array('jpeg','jpg','png','gif','bmp','doc','zip','rar','txt','wps','xlsx','ppt');
            $this->file_save_path=$_SERVER['DOCUMENT_ROOT']."/file/up/";
        }

        public function upload_file($username){

            //判断文件大小
            if($this->file_size>2*1024*1024){
                echo "<script type='text/javascript'>window.alert('文件不能大于2M')</script>";
                exit();
            }

            //获取文件类型
/*            if($this->file_type!="image/jpeg" && $this->file_type!="image/pjpeg"){
                echo "文件类型只能是 jpg 格式";
                exit();
            }
*/            //获取文件的扩展名
            $file_type=$this->getFileExt($this->upload_name);
            if(!in_array($file_type,$this->allow_file_type)){
                echo "上传文件类型格式错误";
                exit();
            }            

            //判断上传是否OK
            if(is_uploaded_file($this->upload_tmp_path)){
                
                //防止图片覆盖问题,为每个用户建立一个文件夹    
                $user_path=$this->file_save_path.$username;
                if(!file_exists($user_path)){
                    mkdir ($user_path);
                }

                //$move_to_file=$user_path."/".$_FILES['myfile']['name'];
                //防止用户上传用户名相同的问题
                //$file_true_name=$_FILES['myfile']['name'];
                $move_to_file=$user_path."/".time().rand(1,1000).substr($this->upload_name,strripos($this->upload_name,"."));

                //echo $upload_file.$move_to_file;
                //中文要转码
                if(move_uploaded_file($this->upload_tmp_path,iconv("utf-8","gb2312","$move_to_file"))){
                    echo $this->upload_name."上传成功";
                }else{
                    echo "上传失败";
                }
            }else{
                echo "上传失败";
            }
        }
        
        //获取文件的扩展名
        public function getFileExt($filename){
            $fileExt=pathinfo($filename);
            return $fileExt["extension"];
        }
    }
?>

    
[2]php会话技术之cookie的例子
    来源: 互联网  发布时间: 2013-12-24

例如,要显示登录时间,第一次登录就提示,您是第一次登录,否则就显示您上一次登录的时间。

代码:

<?php
    //显示上次登录的时间
    if(!empty($_COOKIE['lastvisit'])){

        echo "您上次登录的时间:".$_COOKIE['lastvisit'];
        //保存一个星期
        setcookie("lastvisit",date("Y-m-d H:i:s"),time()+7*24*3600);
        
    }else{
        echo "欢迎光临。您是第一次登陆";
        setcookie("lastvisit",date("Y-m-d H:i:s"),time()+7*24*3600);
    }
?>

    
[3]php记录蜘蛛爬行历史的实现代码
    来源: 互联网  发布时间: 2013-12-24

PHP记录蜘蛛爬行历史的代码,如下:

<? function 
//记录蜘蛛爬行记录,判断来自哪种搜索引擎
get_naps_bot()
{
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);

if (strpos($useragent, 'googlebot') !== false){
return 'Google';
}

if (strpos($useragent, 'baiduspider') !== false){
return 'Baidu';
}
if (strpos($useragent, 'msnbot') !== false){
return 'Bing';
}

if (strpos($useragent, 'slurp') !== false){
return 'Yahoo';
}

if (strpos($useragent, 'sosospider') !== false){
return 'Soso';
}

if (strpos($useragent, 'sogou spider') !== false){
return 'Sogou';
}

if (strpos($useragent, 'yodaobot') !== false){
return 'Yodao';
}
return false;
}

function nowtime(){
$date=date("Y-m-d.G:i:s");
return $date;
}

$searchbot = get_naps_bot();

//保存爬行记录
if ($searchbot) {
   $tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
   $url=$_SERVER['HTTP_REFERER'];
   $file="robotlog.txt";
   $time=nowtime();
   $data=fopen($file,"a");
   fwrite($data,"Time:$time robot:$searchbot URL:$tlc_thispage\n");
    fclose($data);
}
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3