无法打开文件进行读取!使用Symfony和PHPExcel的文件不存在
我必须在MySql表中插入excel文件的数据,该表可以从某个位置选择,为此我使用Symfony、PHPExcel和Ajax。我在表中创建了一个文件上载按钮。我单击“选择文件”,选择文件,然后单击“上载文件”,然后在控制台上出现错误,如无法打开C:\fakepath\CRS\u Data.xls进行读取!文件不存在。我在这里读了这么多类似的问题,但即使读了这些问题,我也无法解决这个问题。下面是我的代码。因此,请有人提出问题的解决方案无法打开文件进行读取!使用Symfony和PHPExcel的文件不存在,php,ajax,symfony-1.4,phpexcel,phpexcelreader,Php,Ajax,Symfony 1.4,Phpexcel,Phpexcelreader,我必须在MySql表中插入excel文件的数据,该表可以从某个位置选择,为此我使用Symfony、PHPExcel和Ajax。我在表中创建了一个文件上载按钮。我单击“选择文件”,选择文件,然后单击“上载文件”,然后在控制台上出现错误,如无法打开C:\fakepath\CRS\u Data.xls进行读取!文件不存在。我在这里读了这么多类似的问题,但即使读了这些问题,我也无法解决这个问题。下面是我的代码。因此,请有人提出问题的解决方案 <script language="javascript
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$('#uploadFile').click(function(e){
var file_path = document.getElementById("file").value;
e.preventDefault();
var urlAjax = "<?php echo URL_AJAX . '/birthPublicSearch' ?>";
// birthPublicSearch is the module name and UploadFile is action name
$.ajax({
url: urlAjax + "/UploadFile",
data: {
file_path: file_path
},
async: false,
type: "POST",
success: function(response){
console.log(response);
alert("Data Uploaded Successful");
}
});
});
});
</script>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td bgcolor="#E6E6FA"><font color="red">Upload File</font></td>
<td></td>
<td bgcolor="#E6E6FA">
<input type="file" name="file" id="file">
</td>
</tr>
<tr>
<td colspan="2" align="center" style="padding-bottom: 10px;">
<input type="button" id="uploadFile" name="uploadFile" value="Upload File" class="btn"></input>
</td>
</tr>
</table>
该行为定义为:
public function executeUploadFile(sfWebRequest $request) {
require_once('/../Classes/PHPExcel.php');
require_once '/../Classes/PHPExcel/IOFactory.php';
$path=$_REQUEST['file_path'];
// path I get is as C:\fakepath\CRS_Data.xls
$objPHPExcel = PHPExcel_IOFactory::load($path);
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet){
$worksheetTitle = $worksheet->getTitle();
$highestRow = $worksheet->getHighestRow();
$highestColumn = $worksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
}
//Inserting datas into db
$i=1;
$j=0;
for ($row = 1; $row <= $highestRow; ++ $row)
{
$val=array();
for ($col = 0; $col < $highestColumnIndex; ++ $col)
{
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val[] = $cell->getValue();
}
// Insert data into mysql
$sql="INSERT INTO tempbackuptable(`bir_le_id`,`bir_le_form_no`,)VALUES($val[0], $val[1])";
$result=mysql_query($sql);
$i=$i+1;
}
$this->setLayout(false);
return sfView::NONE;
}
您的文件确实存在吗?当然$\u REQUEST['file\u path']设置为客户端上的文件路径,而不是客户端上的文件路径server@VeeeneX:是,该文件位于“我的桌面”的文件夹中。我正在选择该文件,然后单击“上载文件”。@MarkBaker:是的,我正在从桌面的文件夹中选择该文件。我不能像这样上传数据。“那我该怎么办呢。@穆克什,你验证了这条路了吗?