php技术总结
admin
2023-07-01 23:04:44
0

1.聚合:最终为大家共享
组合:最终为一体
2.如何编写可移植的php代码:
将所有设置和PHP常量放在一个文件中,这样可以从如何函数或类使用它们。 考虑使用XML文件或是将这些信息存到数据库,
注意parse_ini_file函数

关闭magic_quotes
if(get_magic_quotes_gpc()){
    $_GET =array_map('stripslashes',$_GET);
    $_POST =array_map('stripslashes',$_GET);
    $_GET =array_map('stripslashes',$_GET);
}
3.pdo

1)连接mysql
$dsn='mysql:host=localhost;dbname=world;';

$user ='user';
$password ='secret';
try{
    $dbh = new PDO($dsn,$user,$password);
}catch(PDOException $e){
    echo 'Connection failed'.$e->getMessage();
}


2)连接SQLite
$dsn ='sqlite2:"C:\sqlite\world.db"';

try{
    $dbh = new PDO($dsn);
}catch(PDOException $e){
    echo 'Connection failed'.$e->getMessage();
}
4.利用PDO使用存储过程

DROP PROCEDURE IF  EXISTS getQuote;
DELIMITER
CREATE PROCEDURE getQuote()
BEGIN
DECLARE outStr VARCHAR(45);
SET outStr="Out,damned ";
SELECT outStr;
END


try{
    $dbh=new PDO($dsn,$user,$password);
    $dbn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    
    $sql='CALL getQuote()';
    
    $stmt =$dbh->prepare($sql);
    $stmt->execute();
    $return_string =$stmt->fetch();
}catch(PDOException $e){
    echo "PDO Exception Caught";
    echo "Error with the database :
";
    echo "SQL QUery:".$sql;
}

5.强制在一定字符后折行
wordwrap($string,6,"
");




6.substr_replace($text,$word,$start,$length):控制如何替换文本


7.PHP_EOL:当前操作系统行尾字符,被用作换行符,更具有可移植性
explode(PHP_EOL,$text);将一行作为数组的一个元素
implode($lines,PHP_EOL);反之

8.格式化文本输出
$format='%2$d cents will buy you a  %1$s.
';
for($i=0;$i<3;$i++)
printf($format,$fruits[$i],$price[$i]);

9.Validate 有三个验证函数 string,email,url
Validate::string($_POST['name'],$name_options)
Validate::email($_POST['email'])
Validate::url($_POST['url'])

PEAR::Validate将生成E_STRICT错误

10.如何使用MySQL时间戳
DATE_FORMAT();


11.读取文件到数组,到字符串,到屏幕
1)$file=file("XXX.html");
$lined=count($file);


2)$file=file_get_contents("XXX.html");
$file=strip_tags($file);

3)readfile($file);

12.打开和关闭到文件的链接

$fp=fopen("XXX.html",'rb');//b是以二进制文件形式
fclose($fp);


13.1)处理小文件
$fp=fopen('XXX.html','rb');
fread($fp,filesize('xxx.html'));
2)处理大文件
$fp= fopen('xxx.html','rb');
while(!feof($fp)){
    $chunk=fgets($fp);
    echo $chunk;
}
fclose($fp);


14.如何修改本地文件
$lines =file('xxx.txt');
$fp=fopen('xxx.txt','w');
foreach($lines as $line){
    $line=strip_tags($line);
    //fget($fp);
    fwrite($fp,$line);
}

fclose($fp);


15.使用目录
1)$dp=opendir('./')
readdir($dp)
closedir($dp)
2)使用dir伪类
$dir=dir("./");
while($entry=$dir->read($dir))

if(is_dir('./'.$entry))

echo '';
elseif(is_file('./'.$entry))
echo 'lslk';


16.在文件中存储配置信息
parse_ini_file('目录',TRUE);


17.用php管理文件下载
$fileName='xxx.ini';
$mimeType='application/zip';
if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 5') or strpos($_SERVER['HTTP_USER_AGENT'],'Opera 7'))
$mimeType='application/x-download';

header('Content-Disposition:p_w_upload;filename='.$fileName);
header('Content-Type:'.$mimeType);
header('Content-Length:'.filesize($fileName));
readfile($fileName);

18.如何使用PHP创建压缩ZIP/TAR
(使用Archive_Tar类)
require_once 'Archive/Tar.php';
$tar =new Archive_Tar('demo.tar.gz','gz');
$files =array('xxx.ini',
              'writeSecureScripts.html'
              );
$tar->create($files);

$tar2= new Archive_Tar('demo.tar.gz');
$tar2->extract('demo');

19.压缩数据库数据
$db= new PDO(DBHOST,DBUSER,DBPASS,DBNAME);
$tar = new Archive_Tar('demo/article.tar.gz','gz');
$sql ='SELECT article_id,body FROM articles';
foreach($db->query($sql) as $row){
    $tar->addString('目录',$row['']);
}

20.使用PHP5中的标准PHP库操作文件
(使用DirectoryIterator类)
    try{
        foreach(new Directory() as $Item)
        {
            if($Item->getFilename())
            $Item->getPath()
            $Item->getPathname()
            $Item->getPerms()
            $Item->
        }
        foreach(get_class_methods('DirectoryIterator') as $methodName)
        {
            echo $methodName
        }
    }catch(){
    
    }
    
    
    
    
    
    
    
    
    
    
    
   

相关内容

热门资讯

美国计划加速从欧洲撤军 【文/观察者网 王恺雯】德国《星期日世界报》(Welt am Sonntag)5月30日报道,五角大...
日本何时道歉?解放军代表当场质... 【环球时报-环球网报道 记者 郭媛丹 苏雅瑄】31日上午,解放军专家学者代表团成员、国防大学沈志雄大...
攻坚百年工程,港珠澳大桥工程总... 5月30日,是第十个全国科技工作者日。中央宣传部、中国科协于29日向全社会发布“最美科技工作者”。于...
一个因煤矿改变命运的村社:12... 极目新闻记者 张皓位于鄂尔多斯市伊金霍洛旗札萨克镇的乌兰陶勒盖村七社,是地处黄河“几字弯”腹地的一个...
华为徐直军“感谢”美国制裁:使... 感谢IT之家网友 的线索投递! 5 月 31 日消息,据钛媒体报道,华为副董事长、轮值董事长徐直军...
万向一二三申请高镍三元材料改性... 国家知识产权局信息显示,万向一二三股份公司申请一项名为“高镍三元材料改性方法和具有氮氧包覆层的高镍正...
滑坡发生前,社区书记多看一眼救... 5月27日傍晚,湖北恩施市舞阳坝街道官坡社区园艺场上空传来一声巨响,约6000立方米的土石倾泻而下,...
芬尼能源取得电器盒座及热泵专利... 国家知识产权局信息显示,广东芬尼能源技术有限公司取得一项名为“一种电器盒座及热泵”的专利,授权公告号...
数日前起火的广州长江(中国)轻... 5月31日上午,有网友发视频称,广州长江(中国)轻纺城北区发生火情。多名网友发布的视频显示,一栋印有...
原创 就... 看见中国神舟在太空顺利会师,印度又开始蠢蠢欲动了吗? 5月24日晚,中国神舟二十三号载人飞船在酒...