PHP学习笔记1

第一天的PHP学习,实现了书本上的几个实例。

<?php
/*
 *用来统计当前有多少用户正在访问本网站,将用户信息写入到count.txt中 
 */
    $userOnline = "count.txt";
    
    #touch 如果没有此文件,则创建
    touch($userOnline);
    
    #设置离线时间
    $time_out = 30;
    
    #从文件中读取字符
    $user_arr= file_get_contents($userOnline);
    
    #从字符串中读取被#分割的字符串,并存放到数组中 rtrim可以去除字符串末尾的特定字符
    $user_arr= explode('#', rtrim($user_arr,'#'));
    
    #新数组用来更新目前count.txt
    $temp = array();
    
    #对每个已经保存的用户进行判断,判断用户是否为当前用户,如果不是,并且已经离线,那么删除该用户
    foreach($user_arr as $value){
        $user = explode(',', trim($value));
        if(($user[0] != getenv('REMOTE_ADDR')) && ($user[1] > time())){
            array_push($temp, $user[0].",".$user[1]);
        }
    }
    
    #将当前用户加入数组中,保存用户IP地址,与链接期限,并用#隔开
    array_push($temp,getenv('REMOTE_ADDR').",".(time() + $time_out).'#');
    
    #implode实现将数组元素联接成为一个字符串,并用#隔开
    $user_arr = implode('#',$temp);
    
    #打开文件进行写入
    $fp = fopen($userOnline,'w');
    
    #给文件上锁
    flock($fp, LOCK_EX);
    
    #写入文件
    fputs($fp,$user_arr);
    
    #解锁
    flock($fp, LOCK_UN);
    
    #关闭文件
    fclose($fp);
?>

实例2:

<?php
    /*
     * 通过一个url地址下载图片,保存到服务器
     */
    function GrabImage($url,$filename=""){
        /*
         * url为图片地址,filename为图片保存到本地的地址
         * 如果filename为空,那么则按照下载时间自动命名
         * 如果获取图片失败,返回false,否则返回文件名
         */
        if($url==" ")    return false;
        if($filename==""){
            #获取扩展名
            $ext = strrchr($url, '.');
            if($ext!=".jpg" && $ext!=".png" && $ext!=".bmp" && $ext!=".gif")
                return false;
            $filename=date("dMyHis").$ext;
        }
        
        #打开浏览器缓存
        ob_start();
        
        #将文件读入
        readfile($url);
        
        #得到缓存区内容并赋值给变量$img
        $img = ob_get_contents();
        
        #关闭并清空缓存
        ob_end_clean();
        
        #在本地创建新文件,并将读入内容存入其中
        #@符号会抑制报错,如果出线一场,则不向用户显示错误
        $fp = @fopen($filename, "a");
        fwrite($fp, $img);
        fclose($fp);
        return $filename;
    }
?>
<html>
<head>
    <title > 图片下载 </title>
</head>
<body>
    <form method="post" action="DownloadImage.php">
        图片URL:
        <input type="text" name="url" size="80"/>
        <input type="submit" name="submit" value="提交" /><br/>
        <?php 
            if($_POST["submit"] != NULL){
                $img = GrabImage($_POST['url']);
                if($img) echo '<pre><img src="'.$img.'"></pre>';
                else echo "下载失败";
            }
        ?>
    </form>
</body>
</html>

 

posted @ 2014-01-11 14:18  phk52  阅读(80)  评论(0)    收藏  举报