Welcome 微信登录

首页 / 网页编程 / PHP

如何使用PHP计算上一个月的今天

如何使用PHP计算上一个月的今天

一日,遇到一个问题,求上一个月的今天。 最开始我们使用 strtotime(”-1 month”) 函数求值,发现有一个问题,月长度不一样的月份的计算结果有误。 比如:2011-03-31,得到的结果是2011-03-03。我们先不追究什么问题,先看如何解决问题。 此时,想起PHP中有一个mktime函数,于是自己写了如下代码:复制代码 代码如下:echo date("Y-m-d H:i:s", mktime(date("G", $time), date(...
php 深入理解strtotime函数的使用详解

php 深入理解strtotime函数的使用详解

在前面的<如何使用PHP计算上一个月的今天>一文中, 我们提到strtotime函数在使用strtotime(”-1 month”)求上一个月的今天时会出一些状况,因此也引出写这篇文章,本文包括如下内容:•strtotime函数的一些用法•strtotime函数的实现基本原理•strtotime(”-1 month”)求值失败的原因strtotime函数的一些用法1、 strtotime(”JAN”)和str...
如何批量替换相对地址为绝对地址(利用bat批处理实现)

如何批量替换相对地址为绝对地址(利用bat批处理实现)

如果你的url链接是相对路径“static/mapi.css”,你想把他批量替换成绝对路径“http://dev.baidu.com/wiki/static/map/cloud/static/mapi.css”。那么,你可以这样做: 写一个PHP文件,把需要替换的网址写进去。 这个代码的意思就是,把#BASE_URL#替换成 http://api.map.baidu.com/lbsapi/cloud/ 。 这句话的意思是,把resource文件里的内容替换...
PHP无限分类(树形类)的深入分析

PHP无限分类(树形类)的深入分析

PHP无限分类,Google一下就能找到很多相关资料,思路比较拉风的,也是用得比较多的就是分类表至少有id,pid,name三个字段,id自增表分类,pid为父分类,name为分类名,这样就构成了一棵树,如下,算是我查询分类表得到的结果集。复制代码 代码如下:<?php//模拟PHP无限分类查询结果return array( array( "id"=>1, "pid"=>0, "name"=>"主页" ), array( "id"=...
优化PHP代码技巧的小结

优化PHP代码技巧的小结

优化PHP代码技巧的小结1. 如果一个方法能被静态,那就声明他为静态的,速度可提高 1/4;2. echo 的效率高于 print,因为 echo 没有返回值,print 返回一个整型;3. 在循环之前设置循环的最大次数,而非在在循环中;4. 销毁变量去释放内存,特别是大的数组;5. 避免使用像__get, __set, __autoload 等魔术方法;6. requiere_once()比较耗资源;7. 在 includes 和 requires 中使...
用PHP实现浏览器点击下载TXT文档的方法详解

用PHP实现浏览器点击下载TXT文档的方法详解

由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的。当然这个问题的解决办法也可以是将txt文件改名为浏览器不认识的文件(比如rar),这样的话,由于浏览器不能识别rar类型的文件,只能让用户下载了。还有一种办法,就是利用代码通过header设置文档的格式来实现点击下载的目的。PHP代码如下:=================================...
基于php下载文件的详解

基于php下载文件的详解

php下载文件,比如txt文件。出现的效果就是,弹出浏览器自带的下载框,出现另存为操作。有时候会出现内存溢出和超时的现象。超时的话,设置set_time_limit(0);出现内存溢出的话,有可能是因为从数据库中取出的数据量太大导致的。如果是从文件中读取的话,出现内存溢出的话,就是代码读取方式不正确,调用files或者filegetcontens才会如果是fopen的话,就给一个缓冲区,固定大小,读入然后写入,不会出现内存溢出的情况。如代码:复制代码 代码...
深入php数据采集的详解

深入php数据采集的详解

这里介绍两个php采集能用到的好工具。一个是Snoopy,一个是simple_html_dom。采集还有很多方式(其实本质就2-3种,其他的都是衍生的),php自带了几个方法也能直接进行采集。但是,出于把懒惰进行到底的精神。我们还是可以通过这两个工具,让采集变得更简单。网上有不少介绍Snoopy的,下面是别人翻译的Snoopy的SDK//////////////////////////////////////////////////////////////...
PHP不用第三变量交换2个变量的值的解决方法

PHP不用第三变量交换2个变量的值的解决方法

以前做过一道php面试题是这样的:不使用第三个变量实现交换两个变量的值。一般都是借助第三个中间变量来实现原来两个变量的值交换,但是这道题却要求不能使用中间变量,这对于初学者来说也算是一个难题了。网上找到的几种方法总结如下:复制代码 代码如下://字符串版本 结合使用substr,strlen两个方法实现$a="a";$b="b";echo "交换前 $a:".$a.",$b:".$b."<br />";$a.=$b;$b=substr($a,0...
鸡肋的PHP单例模式应用详解

鸡肋的PHP单例模式应用详解

单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。复制代码 代码如下:<?php /* 单例模式举例,其要点如下: * * 1. $_instance 必须声明为静态的私有变量 * 2. 构造函数和克隆函数必须声明为私有的,这是为了防止外部程序 new 类从而失去单例模式的意义 * 3. getInstance()方法必须声明为公有的,必须调用此方法以返回唯一实例的一个引用 * 4. :...
如何使用Strace调试工具

如何使用Strace调试工具

strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统呼叫及它所接收的系统信息。strace是一个有用的小工具,它可以通过跟踪系统调用来让你知道一个程序在后台所做的事情。Strace是一个基础的调试工具,在大多数Linux系 统上默认已经安装;但是即便你不是在跟踪一个问题的时候它也是一个极好的软件。它能告诉你很多关于一个Linux程序怎样工作的信息。让我们以一个简单的 UNIX 命令 pwd 作为开始,然后更深入地研究该命令在完...
<< 291 292 293 294 295 296 297 298 299 300 >>