Создайте CSV-файл с помощью PHP и сохраните его в каталог

Я новичок в PHP. Я создавал скрипт, который должен создать файл csv с некоторыми данными из моей базы данных и сохранить его в каталоге на моем сервере.

Я как-то это сделал, но этот файл всегда загружается. Я не хочу, чтобы он загружался. Он должен просто сохранить в каталоге.

Вот полный код для вашей помощи.

Пожалуйста помоги мне с этим.

<?php $MYSQL_HOST="localhost"; $MYSQL_USERNAME="root"; $MYSQL_PASSWORD=""; $MYSQL_DATABASE="paesana"; $MYSQL_TABLE="ds_orders"; mysql_connect( "$MYSQL_HOST", "$MYSQL_USERNAME", "$MYSQL_PASSWORD" ) or die( mysql_error( ) ); mysql_select_db( "$MYSQL_DATABASE") or die( mysql_error( $conn ) ); $filename="ePay"; $csv_filename = $filename."_".date("Ym-d_H-i",time()).".csv"; header("Content-Type: application/vnd.ms-excel"); $today="2008-12-21"; $sql = "SELECT * FROM $MYSQL_TABLE where cDate='$today'"; $result=mysql_query($sql); if(mysql_num_rows($result)>0){ $fileContent="Beneficiary Name,Beneficiary Account No,Beneficiary Bank Code,Transaction Amount,Narration\n"; while($data=mysql_fetch_array($result)) { $fileContent.= "".$data['customer_id'].",".$data['oNum'].","."$today".",".$data['cShipService']." ".$data['cShipMethod'].",".$data['cEmail'].",".$data['ccType'].",".$data['cShipInstruct'].",".$data['cShipFname']." ".$data['cShipLname']."\n"; } $fileContent=str_replace("\n\n","\n",$fileContent); echo $fileContent; } header("content-disposition: attachment;filename=$csv_filename"); ?> 

  1. Если вы не хотите загружать результаты, избавитесь от заголовков.

  2. После этой строки:

     $csv_filename = $filename."_".date("Ym-d_H-i",time()).".csv"; 

    Добавить:

     $fd = fopen ($csv_filename, "w"); 
  3. Вместо:

     echo $fileContent; 

    использование

     fputs($fd, $fileContent); 
  4. Не забудьте закрыть файл

     fclose($fd); 

Вы можете использовать следующий код:

 $data_array = array ( array ('1','2'), array ('2','2'), array ('3','6'), array ('4','2'), array ('6','5') ); $csv = "col1,col2 \n";//Column headers foreach ($data_array as $record){ $csv.= $record[0].','.$record[1]."\n"; //Append data to csv } $csv_handler = fopen ('csvfile.csv','w'); fwrite ($csv_handler,$csv); fclose ($csv_handler); echo 'Data saved to csvfile.csv'; 
 Try... Simple way to create csv file. <?php mysql_connect('hostname', 'username', 'password'); mysql_select_db('dbname'); $qry = mysql_query("SELECT * FROM tablename"); $data = ""; while($row = mysql_fetch_array($qry)) { $data .= $row['field1'].",".$row['field2'].",".$row['field3'].",".$row['field4']."\n"; } $file = 'file.csv'; chmod($file, 0777); file_put_contents($file, $data); ?>