wsxxz 发表于 2018-12-23 09:11:55

php技术总结

  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 IFEXISTS 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;$iread($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:attachment;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类)
页: [1]
查看完整版本: php技术总结