2016-06-16 4 views
0

Я пытаюсь получить код ниже, чтобы сохранить его в местоположении файла на сервере, может ли кто-нибудь помочь. В настоящее время он просто загружается через браузер, но я хочу запустить cron и сохранить в местоположении файла.Сохранить экспорт Excel в местоположение файла PHP

<?php 
// Connection 

$conn=mysql_connect('**','**','**'); 
$db=mysql_select_db('SHP',$conn); 

$filename = "stockbook.xls"; // File Name 
// Download file 
header("Content-Disposition: attachment; filename=\"$filename\""); 
header("Content-Type: application/vnd.ms-excel"); 
file_put_contents("http://kempfenterprises.com/dash/reports/stockbook.xls"); 
$user_query = mysql_query("select * from troy.stockbook "); 
// Write data to file 
$flag = false; 
while ($row = mysql_fetch_assoc($user_query)) { 
if (!$flag) { 
    // display field/column names as first row 
    echo implode("\t", array_keys($row)) . "\r\n"; 
     $flag = true; 
    } 
    echo implode("\t", array_values($row)) . "\r\n"; 
    } 
?> 

Заранее спасибо

+0

А что это проблема именно? –

+0

Используйте fopen(), чтобы открыть файл для записи; переключите свое эхо и implode, чтобы использовать fputcsv(), чтобы написать ваши строки тоже в этом файле; и используйте fclose(), чтобы закрыть его, когда вы закончили писать –

+0

, как бы я использовал fopen, мне нужно полностью удалить свое эхо. – troy

ответ

0
<?php 
$conn=mysql_connect('**','**','**'); 
$db=mysql_select_db('SHP',$conn); 

$sql = "select * from troy.stockbook"; 
$qur = mysql_query($sql); 

// Enable to download this file 
$filename = "stockbook.csv"; 

header("Content-Disposition: attachment; filename=\"$filename\""); 
header("Content-Type: text/csv"); 

$display = fopen("php://output", 'w'); 

$flag = false; 
while($row = mysql_fetch_assoc($qur)) { 
if(!$flag) { 
    // display field/column names as first row 
    fputcsv($display, array_keys($row), ",", '"'); 
    $flag = true; 
} 
fputcsv($display, array_values($row), ",", '"'); 
    } 

fclose($display); 
?> 

это использует Еореп, как я могу теперь добавить место, где я хочу, чтобы сохранить его

+0

Первым вариантом для 'fopen()' является имя файла. Вы используете 'php: // input' в качестве имени файла; измените это на любой путь/имя каталога, который вы хотите на своем сервере; затем отбросьте две строки заголовка, потому что вы больше не отправляете их в браузер –

+0

Спасибо за вашу помощь. Марк, я удалил заголовки и изменил вывод, чтобы прочитать «http://kempfenterprises.com/dash/reports/ «но я все еще не получаю файл для сохранения в этом месте. Является ли местоположение в правильном формате? – troy

+0

Нет, это всего лишь папка .... вам нужно указать «имя_папки/filename.extension» в качестве аргумента, переданного для сохранения –

Смежные вопросы