在PHPExcel中使用isset值

我目前正在使用isset来获取login用户的用户名,以将Excel文档保存到我的网站目录中的那个区域。 现在,我还使用第二个isset进行encryption,所以用户不能简单地更改用户名isset,并将那些文件保存到其他人的目录,除非他们知道他们的encryption密钥以及每天或在印刷机上进行更改。 现在,当我尝试我得到一个错误消息,现在我不知道,如果这是isset不与它合作,或者如果它是文档源文件来创build文档。 任何人有任何想法如何解决这个问题?

错误

警告:fopen(USERS /“。用户名”/ Documents / DocName.xls)[function.fopen]:未能打开stream:在public_html / Site / PHP / PHPExcel / Shared / OLE / PPS /第90行的Root.php

致命错误:未捕获的exception'PHPExcel_Writer_Exception'带消息'无法打开USERS /“。用户名。”/ Documents / DocName.xls。 它可能正在使用或受保护。 在/public_html/Site/PHP/PHPExcel/Shared/OLE/PPS/Root.php:93堆栈跟踪:0 /public_html/Site/PHP/PHPExcel/Writer/Excel5.php(226):PHPExcel_Shared_OLE_PPS_Root-> save('USERS /".$ Userna …')#1 /public_html/Site/Create.php(124):PHPExcel_Writer_Excel5-> save('USERS /".$ Userna …')#2 {main}抛出/ public_html /SitePHP/PHPExcel/Shared/OLE/PPS/Root.php 93行

PHP

<?php if (isset($_GET['logout'])){ session_destroy(); header("Location: index.php"); exit(); } else{ if (isset($_GET['Username'])){ if (isset($_GET['Encryption'])){ $Username = $_GET['Username']; $Encryption = $_GET['Encryption']; if (is_dir("USERS/".$Username) === true) { if($Encryption == file_get_contents("USERS/".$Username."/Encryption.txt")){ $NoOfDocs = file_get_contents("USERS/".$Username."/NoOfDocuments.txt"); } else{ header("Location: 201Error.php");exit(); } } else{ header("Location: 201Error.php");exit(); } } } } //Excel Transfer $myFile=fopen("USERS/".$Username."/RiskAssessment/A1.txt","r") or exit("Can't open file!"); $A1 = fgets($myFile); if ($Spo === false) $A1 = ''; fclose($myFile); $myFile=fopen("USERS/".$Username."/RiskAssessment/A2.txt","r") or exit("Can't open file!"); $A2 = fgets($myFile); if ($Spo === false) $A2 = ''; fclose($myFile); $myFile=fopen("USERS/".$Username."/RiskAssessment/A3.txt","r") or exit("Can't open file!"); $A3 = fgets($myFile); if ($Spo === false) $A3 = ''; fclose($myFile); $myFile=fopen("USERS/".$Username."/RiskAssessment/A4.txt","r") or exit("Can't open file!"); $A4 = fgets($myFile); if ($Spo === false) $A4 = ''; fclose($myFile); $myFile=fopen("USERS/".$Username."/RiskAssessment/A5.txt","r") or exit("Can't open file!"); $A5 = fgets($myFile); if ($Spo === false) $A5 = ''; fclose($myFile); $Date = date("d/m/Y"); Include_once 'PHP/PHPExcel.php'; $objPHPExcel = new PHPExcel(); $activeSheet = $objPHPExcel->getActiveSheet(); $objPHPExcel->getActiveSheet()->setTitle('Risk Assessment'); $border = array( 'borders' => array( 'allborders' => array( 'style' => PHPExcel_Style_Border::BORDER_THIN ) ) ); //Set Up $activeSheet->setCellValue('A1','Risk Assessment'); $activeSheet->setCellValue('F1',$Date); $objPHPExcel->getActiveSheet()->mergeCells('A1:E1'); $objPHPExcel->getActiveSheet()->mergeCells('F1:I1'); //Title $title = array( 'font' => array( 'bold' => true, 'size' => 32, )); $horizontalCenter = array( 'alignment' => array( 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, ) ); $objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($title); //Basic Information $objPHPExcel->getActiveSheet()->mergeCells('B2:D2'); $objPHPExcel->getActiveSheet()->mergeCells('A3:I3'); $objPHPExcel->getActiveSheet()->mergeCells('A4:I4'); $objPHPExcel->getActiveSheet()->mergeCells('A5:I5'); $objPHPExcel->getActiveSheet()->mergeCells('A6:I6'); $objPHPExcel->getActiveSheet()->mergeCells('A7:I7'); $objPHPExcel->getActiveSheet()->mergeCells('A8:I8'); $objPHPExcel->getActiveSheet()->mergeCells('A9:I9'); $objPHPExcel->getActiveSheet()->mergeCells('A10:I10'); $objPHPExcel->getActiveSheet()->mergeCells('F11:G11'); $objPHPExcel->getActiveSheet()->mergeCells('H11:I111'); $objPHPExcel->getActiveSheet()->mergeCells('F12:G12'); $objPHPExcel->getActiveSheet()->mergeCells('H13:I13'); $activeSheet->setCellValue('B2','Risk No.1'); $activeSheet->setCellValue('A3','What are the hazards?'); $activeSheet->setCellValue('A4', $A1); $activeSheet->setCellValue('A5','What are you already doing?'); $activeSheet->setCellValue('A6',$A2); $activeSheet->setCellValue('A7','Do you need to do anything else to control this risk?'); $activeSheet->setCellValue('A8',$A3); $activeSheet->setCellValue('A9','Action by who?'); $activeSheet->setCellValue('A10',$A4); $activeSheet->setCellValue('F11','Action by when?'); $activeSheet->setCellValue('F12',$A5); $activeSheet->setCellValue('H11','Done'); $activeSheet->setCellValue('H12',$A6); //Document Settings $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('USERS/".$Username."/RiskAssessment/Risk_Assessment.xls'); ?> 

改变这一行

 $objWriter->save('USERS/".$Username."/RiskAssessment/Risk_Assessment.xls'); 

对此

 $objWriter->save("USERS/".$Username."/RiskAssessment/Risk_Assessment.xls"); 

或这个

 $objWriter->save('USERS/'.$Username.'/RiskAssessment/Risk_Assessment.xls'); 

或这个

 $objWriter->save("USERS/$Username/RiskAssessment/Risk_Assessment.xls"); 

注意引号。