2016-06-16 2 views
0

아래 코드를 서버의 파일 위치에 저장하려고합니다. 아무도 도와 드릴 수 있습니다. 현재 브라우저를 통해 다운로드 만하고 cron을 실행하고 파일 위치에 저장하려고합니다. 사전엑셀 저장하기 파일 위치로 내보내기 PHP

+0

을 저장할 그리고 문제가 정확히 무엇 위치를 추가 할 수 있습니다 fopen을 사용? –

+0

쓰기 위해 파일을 열려면 fopen()을 사용하십시오. fputcsv()를 사용하여 줄을 너무 쓸 수 있도록 echo와 implode를 바꾸십시오; –

+0

fopen을 어떻게 사용할 수 있습니까? 내 echo를 완전히 제거해야합니까? – troy

답변

0

에서

<?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"; 
    } 
?> 

덕분에 당신은 서버에서 파일을 작성하는 file_put_contents를 사용할 수 있습니다.

http://php.net/manual/en/function.file-put-contents.php

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

도움을 주셔서 감사합니다. Mark, 헤더를 제거하고 출력을 "http://kempfenterprises.com/dash/reports/"로 변경했습니다. "하지만 여전히 그 위치에 파일을 저장하지 못하고 있습니다. 위치가 올바른 형식입니까? – troy

+0

아니요, 그저 폴더 일뿐입니다. 저장하려면 인수로 "foldername/filename.extension"을 제공해야합니다. –