php 无限级分类代码

 更新时间:2016年11月25日 16:04  点击:1313

<?php
$conn = mysql_connect("localhost","root","root")  or die("数据库连接失入");
  mysql_select_db("new",$conn);
?>
分类:<select name="fid">
<?php
function mainfl()
{
    global $conn;
  $result=mysql_query("select id,fid,name from a where fid=0 order by id ",$conn);//这里默认的fid=0,表示这是第一级。通过这个可以查出所有fid=0的项,即所有的第一级主类
  if ($myrow=mysql_fetch_array($result))
  {
   do {
?>
    <option value=<?php echo $myrow["id"];?>><?php echo $myrow["name"];?></option>//$myrow["id"]输出主类的ID为查询子类做准备,$myrwo["name"]主类名字
<?php echo subfl($myrow["id"],"--");?>//调用子类函数subfl,使用--<?php
   }
   while ($myrow=mysql_fetch_array($result));
  }
}
//定义子级分类
function subfl($fid,$tag)//$fid那是主类ID,$tag为连接符
{
 global $conn;
 $result1=mysql_query("select id,fid,name from a where fid=$fid  order by id",$conn);//查询出fid=$fid的所有面,这里的$fid值为$myrow["id"]
 if ($myrow1=mysql_fetch_array($result1))
 {
  do {
?>
  <option value=<?php echo $myrow1["id"];?>><?php echo $tag.$myrow1["name"];?></option>//输出子类
<?php
    subfl($myrow1["id"],"-".$tag);
   }
  while ($myrow1=mysql_fetch_array($result1));
 }
}
echo mainfl();
?>
</select>

<?php php实现图片远程采集
//本程序为初学者入门,你可以随意更改使用
//如有问题或有什么改进和优化,还望与我分享 QQ:297535861
//与你一块进步。
//2007-12-26
function str_substr($str ,$statr, $end) { //字符串截取函数
  $x = strpos($str, $statr);
  return substr($str,  $x+strlen($start), strpos($str, $end)-$x+strlen($end)); 
}
//////////////////////////////////////////////////
$url="[url=http://www.XXXXXXX.XXX/XXX]http://www.XXXXXXX.XXX/XXX";//[/url]给据采集内容自己定,这句上传后给自动加了连接,请去掉
$str=file_get_contents($url); ///file_get_contents -- 将整个文件读入一个字符串
$start='#######';//截取内容前的html  最后网页中唯一
$end='########';//截取内容后的html 最后网页中唯一
$content=str_substr($str , $start, $end);
//echo $content; //测试采集到的内容
echo '<hr>';
///////////////////////////////////////////////////
$img_array = array();
$content1 = stripslashes($content); //stripslashes函数作用是去掉字符串中的转义字符
if (get_magic_quotes_gpc()) $content1 = stripslashes($content1);
//echo $content1;//文章内容嘿嘿开始处理了
preg_match_all("/(src|SRC)="(http://(.+)/(.+).(gif|jpg|jpeg|bmp|png))/isU",$content1,$img_array,PREG_PATTERN_ORDER);//正则开始匹配所有的图片并放入数组$img_array中 ,=匹配规则可根据具体情况改写,这个通用性不强,还望那位高手给个通吃的匹配=
$img_array = array_unique($img_array[2]); //array_unique -- 移除数组中重复的值,$img_array[2]到现在没有高清楚,猜想可能是取出二维数组中的某组。
//print_r($img_array); //测试匹配到的内容
set_time_limit(0); //限定最大执行时间

//开始保存匹配内容中图片,修改名称并保存的本地文件夹中
foreach ($img_array as $key => $value) { //使用循环语句把匹配到的数组内容(图片)进行一一处理
if(file_get_contents($value)) $get_file = file_get_contents($value);//开始获取图片了哦 使用file_get_contents得到文件
else dir("出错");
$filetime = time(); //得到时间戳
$filepath = "pic2/".date("Ym",$filetime)."/";//图片保存的路径目录
!is_dir($filepath) ? mkdir($filepath) : null;  //如果目录不存在,则创建目录,注意:要有相应的目录权限。
$filename = date("YmdHis",$filetime).rand(100,999).'.'.substr($value,-3,3); //生成文件名,rand(100,999)的作用是防止文件名重复
$fp = @fopen($filepath.$filename,"w"); //以写方式打开文件
@fwrite($fp,$get_file); //
fclose($fp);//完工,哈
$content1 = preg_replace("/".addcslashes($value,"/")."/isU", "pic2/".date("Ym",$filetime)."/".$filename, $content1);  //顺便替换一下文章里面的图片地址
echo $value.'=>'.'pic2/'.date('Ym',$filetime).'/'.$filename.'<br>';  //测试图片复制前后,路径是否正常。
}
echo '<hr>';
echo $content1; //可把$content1存入数据库
?>

header("Content-Type: $mime");
header("Content-Disposition: attachment; filename="$file"");
header("Content-Length: ".filesize($filename));
if(strstr($mime, "text")){
    $file_handle = @fopen("$filename","r");
}else{
    $file_handle = @fopen("$filename","rb");
}

php 实现文本文件下载

php 数据查询与连接类

<?php
/**
 * Class program for yinghua05-2
 * designer :songsong
 */

class MySQL {
 var $link;
 var $result;
 var $querys;
 
 function MySQL($host = '', $user = '', $pw = '', $db = '', $encode = 'UTF8') {
  $this->querys = 0;
  if($host != '' && $user != '' && $db != '') {
   $this->connect($host,$user,$pw,$db,$encode);
  }
 }
 
 /**
  * connect to database
  *
  * @param unknown_type $host
  * @param unknown_type $user
  * @param unknown_type $pw
  * @param unknown_type $db
  * @return boolean
  */
 function connect($host,$user,$pw,$db,$encode = 'UTF8') {
  $resource = mysql_connect($host,$user,$pw);
  if(is_resource($resource)) {
   $this->link = $resource;
   if(mysql_select_db($db,$this->link)) {
    unset($resource);
    if (floatval(mysql_get_server_info($this->link)) > 4.1 && isset($encode)) {
     mysql_query('SET NAMES "'.$encode.'"');
    }
    return true;
   } else {
    unset($resource);
    return false;
   }
  } else {
   unset($resource);
   return false;
  }
 }
 
 /**
  * query sql
  *
  * @param unknown_type $query
  * @return unknown
  */
 function query($query) {
  $result = mysql_query($query,$this->link);
  $this->querys ++;
  if($result) {
   $this->result = $result;
   return true;
  } else {
   return false;
  }
 }
 
 /**
  * fetch a row
  *
  * @return mixed
  */
 function fetch() {
  if(is_resource($this->result)) {
   return mysql_fetch_array($this->result);
  } else {
   return false;
  }
 }
 
 /**
  * fetch all result
  *
  * @return mixed
  */
 function fetchAll() {
  if(is_resource($this->result)) {
   $temp = array();
   while ($row = mysql_fetch_array($this->result)) {
    $temp[] = $row;
   }
   return $temp;
  } else {
   return false;
  }
 }
 
 /**
  * return the querys
  *
  * @return integer
  */
 function getQuerys() {
  return $this->querys;
 }
 
 /**
  * get the numbers of the result
  *
  * @return int
  */
 function getNumberRow() {
  if (is_resource($this->result)) {
   return mysql_num_rows($this->result);
  } else {
   return 0;
  }
 }
 
 /**
  * free result
  *
  * @return boolean
  */
 function free() {
  if(is_resource($this->result)) {
   mysql_free_result($this->result);
   return true;
  } else {
   return false;
  }
 }
 
 /**
  * close mysql connect
  *
  * @return boolean
  */
 function close() {
  if(is_resource($this->link)) {
   mysql_close($this->link);
   return true;
  } else {
   return false;
  }
 }
}

?>

php类的使用实例教程

<?php
/**
 * Class program for yinghua05-2
 * designer :songsong
 */

class Template {
 var $tpl_vars;
 var $tpl_path;
 var $_debug;
 
 /**
  * Construct for Template
  * PHP5 or upper version
  */
 function __construct() {
  $this->Template();
 }
 
 /**
  * Construct for Template
  *
  * @return Template
  */
 function Template() {
  $this->tpl_vars = array();
  $this->tpl_path = '';
  $this->_debug = false;
 }
 
 /**
  * Set template path
  *
  * @param string $path
  * @return boolean
  */
 function setPath($path) {
  if(is_dir($path)) {
   $path = rtrim($path,'/').'/';
   $this->tpl_path = $path;
   return true;
  } else {
   if($this->_debug) {
    $this->_debug('template path is not exists.');
   }
   return false;
  }
 }
 
 /**
  * Enter description here...
  *
  * @param mixed $var
  * @param mixed $val
  */
 function assign($var,$val) {
  if(isset($var) && is_array($var)) {
   $this->tpl_vars = $var;
  } else if(isset($var) && $var != '') {
   $this->tpl_vars[$var] = $val;
  } else {
   if($this->_debug == true) {
    $this->_debug('set variable error.');
   }
   return false;
  }
 }
 
 /**
  * Display template file
  *
  * @param String $file_name
  */
 function display($file_name) {
  ob_start();
  extract($this->tpl_vars);
  $include_flie = $this->tpl_path . $file_name;
  if(!file_exists($include_flie)) {
   if($this->_debug)
    $this->_debug('Template file "'.$include_flie.'" is not exists.');
   else
    exit('Template error, please check it.');
  }
  include($include_flie);
  $content = ob_get_contents();
  ob_end_clean();
  
  echo $content;
 }
 
 /**
  * Debuging
  *
  */
 function _debug($msg = '') {
  die('Error :'.$msg);
 }
}

?>

[!--infotagslink--]

相关文章

  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • PHP实现无限级分类(不使用递归)

    无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式; 查找分类A下面所有分类包含的文章。1.实现原理 几种常见的实现方法,各有利弊。其中...2015-10-23
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • PHP实现递归无限级分类

    在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。 递归,简单的说就是一段程序代码的重复调用,当把...2015-10-23
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • php导出csv格式数据并将数字转换成文本的思路以及代码分享

    php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07
  • ecshop商品无限级分类代码

    ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25
  • 几种延迟加载JS代码的方法加快网页的访问速度

    本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13
  • vue项目,代码提交至码云,iconfont的用法说明

    这篇文章主要介绍了vue项目,代码提交至码云,iconfont的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-30