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>

浙公网安备 33010602011771号