November 14th, 2008

导出csv文件

No Comments php 浏览量:118

网上找的,还不错,留下来备用

< ?php
/*
ini_set("error_reporting",E_ALL);
ini_set("display_startup_errors",1);
ini_set("display_errors",1);
*/
function escapeCSV($str){
  $str = str_replace(array(',','"',"\n\r"),array('','""',''),$str);
  if($str == ""){
    $str = '""';
  }
  return $str;
}
 
function iconvstr($str){
	return iconv('utf-8','gb2312',escapeCSV($str));
}
 
$intent = in_array($_GET['intent'],array('y','n')) ? $_GET['intent'] : '';
 
if($intent != ''){
	$query_cond = " WHERE `intent` ='$intent' ";
}else{
	$query_cond = '';
}
 
$result = mysql_query("SELECT * FROM `{$db_fix}report` $query_cond ORDER BY `id` DESC");
 
$filename = date('YmdHis').'.csv';
 
$data = "\"ID\",Username,Company,Email,Mobile,Day,Time,Attendance"."\n";
 
while($r = mysql_fetch_array($result)) {
	$daytime1 = date('Y-m-d',$r['daytime']);
	$daytime2 = date('H:i:s',$r['daytime']);
 
	//$daytime = intval($daytime);
	$intent = ($r['intent'] == 'y') ? 'Yes' : 'No';
	$data .= $r['id'].','.iconvstr($r['username']).','.iconvstr($r['company']).','.$r['email'].','.$r['mob'].','.$daytime1.','.$daytime2.','.$intent."\n";
}
 
header("Content-type: text/csv");
header ("Content-Disposition: attachment; filename=" . $filename);
header('Cache-Control:   must-revalidate,   post-check=0,   pre-check=0');
header('Expires:   0');
header('Pragma:   public');
echo $data;
?>

Tags:, .

November 10th, 2008

symfony objects_for_select

No Comments php 浏览量:190

Object_select_tag助手根据传递过来的方法名猜测相关的peer类名(根据getAuthorID方法得到AuthorPeer类),你也可以通过第三个参数制定你自己的类作为关联类。

// 基本语法
 
< ?php echo object_select_tag($article, 'getAuthorId') ?>
 
// 通过方法AuthorPeer::doSelect(new Criteria())
 
 
 
// 修改peer类
 
< ?php echo object_select_tag($article, 'getAuthorId', 'related_class=Foobar') ?>
 
// 通过方法FoobarPeer::doSelect(new Criteria())
 
 
 
// 修改Peer方法
 
< ?php echo object_select_tag($article, 'getAuthorId','peer_method=getMostFamousAuthors') ?>
 
// 通过方法AuthorPeer::getMostFamousAuthors(new Criteria())
 
 
 
// 在列表顶部添加 <option value="">&nbsp;</option> 
 
< ?php echo object_select_tag($article, 'getAuthorId', 'include_blank=true') ?>
 
 
 
//在列表顶部添加<option value="">Choose an author</option> 
 
< ?php echo object_select_tag($article, 'getAuthorId', 'include_custom=Choose an author') ?>

Tags:, , .

November 2nd, 2008

mysql like 查询

No Comments Linux+Mysql 浏览量:275

mysql查询默认是不区分大小写的 如:
select * from table_name where a like ‘a%’
select * from table_name where a like ‘A%’
效果是一样的。
要让mysql查询区分大小写,可以:
select * from table_name where binary a like ‘a%’
select * from table_name where binary a like ‘A%’
也可以在建表时,加以标识
create table table_name(
a varchar(20) binary
)

Tags:, .

October 28th, 2008

PHP实现文件下载

No Comments php 浏览量:304

这是fleaPHP上的函数,放在这个地方,以后好用。

    /**
     * 向浏览器发送文件内容
     *
     * @param string $serverPath 文件在服务器上的路径(绝对或者相对路径)
     * @param string $filename 发送给浏览器的文件名(尽可能不要使用中文)
     * @param string $mimeType 指示文件类型
     */
    function sendFile($serverPath, $filename, $mimeType = 'application/octet-stream')
    {
        header("Content-Type: {$mimeType}");
        $filename = '"' . htmlspecialchars($filename) . '"';
        $filesize = filesize($serverPath);
        $charset = FLEA::getAppInf('responseCharset');
        header("Content-Disposition: attachment; filename={$filename}; charset={$charset}");
        header('Pragma: cache');
        header('Cache-Control: public, must-revalidate, max-age=0');
        header("Content-Length: {$filesize}");
        readfile($serverPath);
        exit;
    }

Tags:, .

October 19th, 2008

symfony

No Comments php 浏览量:371

    在新公司上班2周了,那边使用的框架是symfony,接触symfony有2周了,就来说说我对这个框架的看法吧.
    整个框架太过于复杂,里面什么东西都有,Creole,propel实现数据层,xml,yaml用来配置数据库和应用程序。ajax的东西也整合得比较多,而且什么都封装成了对象,让我感觉使用起来已经不像php了。
    不知道是不是我的php水平太差了,我看了2周的symfony,现在也就会弄个数据库的操作,然后就是表单的处理一些简单的东西,而且有时候访问数据库,程序写错了,根本不晓得自己是那个地方错了,改bug完全是靠着感觉在走。哎…………感觉这个框架让我很头大。

我一直认为,PHP 的优势在于中小型项目。如果项目复杂到要用完全面向对象的设计, 那么我宁可选择 Java 或者 .NET。要知道对于这种项目,PHP 不但缺乏必要的语言支持, 更缺乏高效率的开发工具,而运行性能则更是无法和 Java、.NET 相比。所以 Symfony 是 小项目用不上,大项目不好用。

    我比较赞成这句话,如果全都需要用面向对象的设计,何必还用php呢?

Tags:, .