2014-01-19 2 views
1

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

$sql_select= "my query"; 
$queryRes = mysql_query($sql_select); 

$header = "Country" . "\t"; 
$header .= "Network" . "\t"; 
$header .= "MCC" . "\t"; 
$header .= "MNC" . "\t"; 
$header .= "ClientPrice" . "\t"; 
$header .= "Currency" . "\t"; 

$data = ''; 
while($row = mysql_fetch_assoc($queryRes)){ 
$row1 = array(); 
$row1[] = $row['country']; 
$row1[] = $row['networkname']; 
$row1[] = $row['mcc']; 
$row1[] = $row['mnc']; 
$row1[] = $row['clientprice']; 
$row1[] = $row['currency']; 
$data .= join("\t", $row1)."\n"; 
//$data= $first_name."\t"; 
//$data .= $row['originator']."\t"; 
} 

header("Content-type: application/x-msdownload"); 
header("Content-Disposition: attachment; filename=expot.xls"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 
print "$header\n$data"; 
exit(); 

Я использую следующий код, чтобы сохранить файл первенствовать в этом месте "/pricelists/example.xls"

file_put_contents("/pricelists/example.xls",$data); 
print "$header\n$data"; 

Это показывает предупреждение

Warning: file_put_contents(/pricelists/example.xls) [function.file-put-contents]: failed to open stream: 

Может кто-нибудь руководство мне как исправить это спасибо?

ответ

1

Имеется ли файл на пути /pricelists/example.xls?

Использование относительного пути к файлу может решить проблему.

file_put_contents("pricelists/example.xls",$data); 
+0

Нет, его не существует. Функция «file_put_contents» должна создать файл, если он не существует. – arok

+2

Если вы пытаетесь сохранить каталог, в котором file_put_contents() не имеет права на запись, например '/ pricelists' (помня, что это из корня файловой системы -'/'), вы ожидали бы, что он игнорировать эти разрешения и писать файл? создать каталог, если он не существует? - Какая ценовая безопасность? –

+0

разрешение для этой папки «прейскуранты» - 777 – arok

0

Если вы используете Windows:

Перейдите в «Свойства» в папку, содержащую выходной файл, отключить только для чтения, перейдите к индексу «Безопасность», нажмите на кнопку «Edit», а затем на «Добавить», введите «Все» и дайте полные разрешения и примените настройки.

Если вы используете Linux или у вас есть наемный веб-сервер:

Дайте полное разрешение с CHMOD 777/ваша/папка/или с FTP-приложением.

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