Php 如何保存CSV而不下载
我有这个php脚本Php 如何保存CSV而不下载,php,mysql,csv,wget,Php,Mysql,Csv,Wget,我有这个php脚本 $connection = mysql_connect(DB_HOST,DB_USER,DB_PASS); mysql_select_db(DATABASE, $connection); $query = sprintf( 'SELECT * FROM something' ); $result = mysql_query($query); header( 'Content-Type: text/csv' ); header( 'Content-Disposition: at
$connection = mysql_connect(DB_HOST,DB_USER,DB_PASS);
mysql_select_db(DATABASE, $connection);
$query = sprintf( 'SELECT * FROM something' );
$result = mysql_query($query);
header( 'Content-Type: text/csv' );
header( 'Content-Disposition: attachment;filename=export.csv' );
$row = mysql_fetch_assoc( $result );
if ( $row )
{
echocsv( array_keys( $row ) );
}
while ( $row )
{
echocsv( $row );
$row = mysql_fetch_assoc( $result );
}
function echocsv( $fields )
{
$separator = '';
foreach ( $fields as $field )
{
if ( preg_match( '/\\r|\\n|,|"/', $field ) )
{
$field = '"' . str_replace( '"', '""', $field ) . '"';
}
echo $separator . $field;
$separator = ',';
}
echo "\r\n";
}
它会抓取所有记录并将它们保存到csv中…这非常有效。但我需要做的是从cron运行这个php脚本,并将csv保存到一个特定的文件夹中……有什么想法吗
下面是我如何通过cron任务调用该文件
wget -O /dev/null http://somesite.com/make_csv.php
看看fopen和fwrite函数,应该可以完成这项工作。@ceejayoz-在这种情况下,我如何使用file\u put\u内容,是在两个头语句之后吗?您不需要头语句,也不需要echo语句。您希望将CSV生成为字符串,并使用
file\u put\u contents
.fputcsv()将该字符串保存到一个文件中。您要在哪里保存该字符串?在服务器上还是在wget主机上?也许你应该看看wget上的-O是做什么的。服务器上是我想要保存它的地方