0
当我问我的问题(问题)时,我认为我的解释并不干净。 我有一个项目PHP,我没有本地环境,我在线工作:我通过Netbeans更改我的文件,我部署它,但未在本地进行测试。我的服务器是production.My数据库(MySQL - phpMyadmin)的服务器也。 我将数据从我的磁盘导入到项目中。然后PHP通过HighChart开发它。用户可以根据多种选择(日期,城市,客户等)查看这些数据,最后他可以将最终结果下载到文件csv中。 这里的问题我不能下载所有的数据,例如:在Chart 14Million的Turnover显示中,但在文件csv中显示的营业额较少。从PHP导入/导出文件
这下面我的代码:
class Export{
private $_dataIN=[];
private $_author;
private $_filepath;
public function __construct(array $dataIN) {
$this->_dataIN = $dataIN;
$this->setFilepath();
$this->prepareFile();
}
public function setFilepath() {
$date = new \DateTime();
$this->_filepath='../DATA/ExportFiles/ExportData'.$date->getTimestamp();
}
public function prepareFile(){
$file = fopen($this->_filepath, 'w');
fputcsv($file, array('Piece', 'Client', 'Libelle Client', 'Facturation','OTP','Typcde','Cdecli','Cdesap','Article','Designation','Dev','Montant_fac_dev_ht','Montant_fac_eur','Avion','Nature','Repsite','Zone','LRU','Contract'),';');
foreach ($this->_dataIN as $key => $statement) {
fputcsv($file, array($statement->getId(), $statement->getCustomerId(), $statement->getCustomerName(), $statement->getDate(), $statement->getOTP(), $statement->getCdetype(), $statement->getCdecustomer(), $statement->getSAPcode(), $statement->getArticle(), $statement->getDesigniation(), $statement->getCurrency(), $statement->getAmount(), $statement->getAmountEur(), $statement->getAircraft(), $statement->getNature(), $statement->getRepsite(), $statement->getZone(), $statement->getLru(),$statement->getContract()),';');
}
}
public function download() {
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//octet-stream'
header('Content-Disposition: attachment; filename='.basename($this->_filepath).'.csv');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($this->_filepath) . 'Giga'); //Kilo
readfile($this->_filepath);
exit();
我希望这一次我的解释是干净的,你能帮忙吗?
谢谢。我会尝试。 – sirine
它产生这样的错误:在Export.php中的UndefinedFunctionException第39行:试图从命名空间“Floose \ Export”调用函数“array_to_csv”。致命错误:在第39行调用未定义的函数Floose \ Export \ array_to_csv()在/home/outils/FLOOSE/FlooseDev/src/Export/Export.php中。 – sirine
我在这里添加了它,但是在静态中:public function __construct(array $ dataIN){ $ this - > _ dataIN = $ dataIN; $ this-> setFilepath(); $ this-> prepareFile(); $ this-> array_to_csv($ array,$ download); } – sirine