邢栋博客

邢栋博客,Action博客,记录工作和生活中的点点滴滴

php从xml文件中读取新闻列表
1.php从xml文件中读取新闻列表  
<?php 
$xml = simplexml_load_file("http://xingdong365.com/rss.php?sort=1","SimpleXMLElement",LIBXML_NOCDATA);
foreach($xml->channel->item as $item ){
echo "标题:".$item->title."<br>";
echo "<hr>";
}
?>
2.实用DOM库读取新闻列表

<?php
$doc = new DOMDocument();
$doc->load("http://xingdong365.com/rss.php?sort=1");
$nodes = $doc->getElementsByTagName("item");
foreach($nodes as $node){
echo $node->getElementsByTagName("title")->item(0)->nodeValue;
echo "<hr>";

?>

php使用smtp发送邮件
<?php
	include("class.phpmailer.php"); //包含phpmailer类

	$mail = new PHPMailer(); //建立邮件发送类
	$mail->IsSMTP(); //设定使用SMTP方式寄信
	
	$mail->CharSet = "gb2312"; //邮件的编码格式
	$mail->Host = "smtp.126.com"; //SMTP服务器地址
	$mail->SMTPAuth = true; //设定SMTP需要验证
	//$mail->SMTPSecure = "ssl"; // Gmail的SMTP主机需要使用SSL连接
	$mail->Port = 25; //端口号
	$mail->Username = "xingdong1117@126.com"; //邮箱账号
	$mail->Password = "XXXXXXXX"; //邮箱密码
	 
	$mail->From = "xingdong1117@126.com"; //寄件者信箱
	$mail->FromName = "邢栋"; //寄件者姓名
	 
	$mail->Subject = "smtp邮件发送测试";  //邮件标题
	$mail->Body = "smtp发送测试的邮件内容"; //邮件内容
	
	$mail->IsHTML(true); //邮件内容
	//$mail->AddAttachment("a.php"); // 添加附件 
	$mail->AddAddress("xingdong1117@qq.com"); //收件者
	 
	 
	if(!$mail->Send()) {
		echo "发送错误: " . $mail->ErrorInfo;
	} else {
		echo "<div align=center>邮件发送成功,请注意查收!</div>";
	}
	

?>


ps:如果使用gmail或qql邮箱,需要在php.ini中开启extension=php_openssl.dll

部分公用邮箱服务器及端口号

gmail邮箱  服务器 smtp.gmail.com  端口号 587 或465

Hotmail / Live邮箱 服务器 smtp.live.com  端口号  25或587

QQ邮箱  服务器  smtp.qq.com 端口号  25或587

163邮箱  服务器 smtp.163.com 端口号 25 或587 或465

Yahoo邮箱 服务器 smtp.mail.yahoo.com 端口号 587或465

 

php创建图像和缩略图以及给图片加水印和文字

php创建图像

<?php
    // 创建图像
    $height = 300; //图像高度
    $width  = 300; //图像宽度
    $im = imagecreatetruecolor($width,$height); //创建一个真彩色的图像
    $white = imagecolorallocate($im,255,255,255);//白色
    $blue = imagecolorallocate($im,0,0,64);//蓝色
    imagefill($im,0,0,$blue); //将背景设置为蓝色
    imageline($im,0,0,$width,$height,$white);//在图上画一条白色的直线
    imagestring($im,4,80,150,"php",$white);//在图上显示白色的“php”文字
    header("cotent-type:image/png"); //输出图像的MIME类型
    imagepng($im); //输出一个png图像数据
    imagedestroy($im);//清空内存

?>    

php创建缩略图

 

<?php
    //创建缩略图
    $image = imagecreatefromjpeg("images/action.jpg");//从jpeg文件或url新建一图像
    $width = imagesx($image);//得到图像的宽度
    $height = imagesy($image);//得到图像的高度
    $th_width = $width*0.5;//设置缩略图宽度为原图的一半
    $th_height = $height*0.5;//设置缩略图高度为原图的一半
    $th = imagecreatetruecolor($th_width,$th_height);//创建一个原图一半大小的画布
    //将原图按照指定大小复制到画布上,得到缩略图
    imagecopyresampled($th,$image,0,0,0,0,$th_width,$th_height,$width,$height);
    imagejpeg($th,"images/action_th.jpg",100);//将缩略图保存到文件夹里
    imagedestroy($th);

?>

<img src="images/action.jpg" /><br />
<img src="images/action_th.jpg" />

php给图片加水印

<?php
    //给图片加水印	
    $image = imagecreatefromjpeg("images/action.jpg");//从jpeg文件新建一个图像
    $water = imagecreatefrompng("images/xing.png");//从png文件新建一个图像
    $width = imagesx($water);//得到水印的宽度
    $height = imagesy($water);//得到水印的高度
    imagecopyresampled($image,$water,0,0,0,0,$width,$height,$width,$height);
    //将水印加载到图像上
    imagejpeg($image,"images/action_water.jpg",100);//将带有水印的图像保存到文件
    imagedestroy($image);
?>

<img src="images/action.jpg" /><br />
<img src="images/action_water.jpg" />

php给图片加文字

<?php
    //给图片加文字
    $image = imagecreatefromjpeg("images/action.jpg");
    $pink = imagecolorallocate($image,255,255,255);
    $font_file = "C:\WINDOWS\Fonts\SimHei.ttf";//字体的路径,视操作系统而定
    $str = "邢栋博客!";
    $str = mb_convert_encoding($str,"utf-8","gbk");//字符转码	
    imagettftext($image,25,10,40,240,$pink,$font_file,$str);//向图像写入文本
    imagejpeg($image,"images/action_ttf.jpg",100);//将带有水印的图像保存到文件
    imagedestroy($image);
	
?>
<img src="images/action.jpg" /><br />
<img src="images/action_ttf.jpg" />


php删除目录和文件
<?php
    function full_rmdir($dirname){
	if(!is_dir($dirname)){
	    echo "指定的文件名不存在或者不是目录文件";
	    exit;
	}
	if($dirHandle = opendir($dirname)){ //打开指定的目录
	    $old_cwd = getcwd();   //取得当前工作的目录
	    chdir($dirname);	//将php的当前目录改为 $dirname
	    while($file = readdir($dirHandle)){ //循环目录下的文件
	    if($file=='.' || $file=='..')continue;//如果是当前目录或者父目录则跳过
		if(is_dir($file)){     //如果是目录
		if(!full_rmdir($file)){return false;}//递归调用自身函数删除目录 
		}else{
		    if(!unlink($file)){return false;}//如果是文件,删除文件
		}
	    }
	closedir($dirHandle);   //关闭目录
	chdir($old_cwd);        //将php的当前目录改为$old_cwd
	if(!rmdir($dirname)){return false;}	 //删除$dirname目录
	return true;  //删除成功,返回true
	}else{
			return false; //未能打开指定的目录,返回false
	}
	}
	$remove_dir = "测试目录";
	if(full_rmdir($remove_dir)){
		echo "删除成功!";
	}else{
		echo "删除失败!";
	}

?>
php实现字符串翻转(包含中文汉字)
<?php  
    //php实现字符串翻转,包含中文汉字
    //substr() 函数返回字符串的一部分。substr(string,start,length)
    //ord() 函数返回字符串第一个字符的 ASCII 值。
    //join() 函数把数组元素组合为一个字符串。
    //array_reverse() 函数将原数组中的元素顺序翻转,创建新的数组并返回。
	
function turnstr($str) { 
	$len = strlen($str);  // 计算字符串的长度 
	for($i=0;$i<$len;$i++) {  
		$char = $str[0];
		if(ord($char)>127){ 
           	$i++;  
			if($i<$len){ 			   
				$arr[] = substr($str, 0, 2); 			   
				$str = substr($str, 2); 				
			} 	   
		}else{         
			$arr[] = $char; 	   
			$str = substr($str, 1); 
       }
	} 
   return join(array_reverse($arr));  
}
$str = 'xingdong 前后端';
echo turnstr($str);
?>

以上只适用于gbk编码,如果是utf-8编码,把 
$i++; 
if($i<$len){ 
    $arr[] = substr($str, 0, 2);
    $str = substr($str, 2); 
}
替换成 
$c_len = (is_utf8)?2:1; 
$i += $c_len;
if($i < $len){ 
    $arr[] = substr($str, 0, $c_len+1); 
    $str = substr($str, $c_len+1);
}

 

php遍历文件夹下的文件及计算出其所占的磁盘空间
<?php
    /*
        php遍历文件夹下的所有文件及其子文件夹下所有的文件并计算出其所占的磁盘空间
    */	
    function dir_size($dir){
	$dh = @opendir($dir);   		  //打开目录,返回一个目录流
	$size = 0;      //初始大小为0 
	    while($file = @readdir($dh)){     //循环读取目录下的文件
	       if($file!='.' and $file!='..'){
	        $path = $dir.'/'.$file;   	//设置目录,用于含有子目录的情况
	        if(is_dir($path)){
		    echo $path.'<br>';
		    $size += dir_size($path);  //递归调用,计算目录大小
		}elseif(is_file($path)){
		    echo $file.'&nbsp;'.filesize($path).'字节<br>';
		    $size += filesize($path);   //计算文件大小
		}
	    } 
	    }	
	    @closedir($dh);   		    //关闭目录流
	    return $size;     		    //返回大小
	}	
	$dir = '.';
	$dir_size = dir_size($dir);
	echo '总大小'.$dir_size.'字节';
?>

 


优惠券
最新微语