很奇怪,我的代碼在我的本地運行,但是當我部署它遠程服務器上。它得到了T_IF錯誤。該代碼是如下:PHP,意外T_IF,在線XXX XXX的文件預計T_FUNCTION
的XXX行是圍繞:$實驗[ 'import_result'] = TRUE;
private function do_import($file_info, $ih_id){
$this->load->library("MY_PHPExcel");
$inputFileName = $file_info['full_path'];
$sheetNames = array('General','Gas', 'Sample', 'Mass Gain', 'Cr');
/** Identify the type of $inputFileName **/
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
/** Create a new Reader of the type that has been identified **/
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
/** Advise the Reader that we only want to load cell data **/
$objReader->setReadDataOnly(true);
/** Advise the Reader of which WorkSheets we want to load **/
$objReader->setLoadSheetsOnly($sheetNames);
/** Tell the Reader that we want to use the Read Filter **/
//$objReader->setReadFilter($filterSubset);
/** Load $inputFileName to a PHPExcel Object **/
$objPHPExcel = $objReader->load($inputFileName);
$sheetCount=$objPHPExcel->getSheetCount();
$experiment = array();
for($index = 0; $index<$sheetCount; $index++){
$objPHPExcel->setActiveSheetIndex($index);
$sheetName = $objPHPExcel->getActiveSheet()->getTitle();
if($sheetName == 'General'){
$experiment['general'] = $this->read_general($objPHPExcel, $index, 1);
}elseif($sheetName == 'Sample'){
$experiment['sample'] = $this->read_sample($objPHPExcel, $index, 1);
}elseif($sheetName == 'Gas'){
$experiment['gas'] = $this->read_gas($objPHPExcel, $index, 1);
}elseif($sheetName == 'Mass Gain'){
$experiment['mass'] = $this->read_mass($objPHPExcel, $index, 1);
}elseif($sheetName == 'Cr'){
$experiment['cr'] = $this->read_cr($objPHPExcel, $index, 1);
}
}
//if there is format error
foreach($experiment as $sheet){
if(isset($sheet) && !empty($sheet)){
if(isset($sheet['error']) && !empty($sheet['error'])){
$experiment['import_result'] = FALSE;
break 1;
}elseif(isset($sheet['validation']['validation']) && $sheet['validation']['validation'] == 0){
$experiment['import_result'] = FALSE;
break 1;
}else{
$experiment['import_result'] = TRUE;
break 1;
}
}
}
if($experiment['import_result']){//there is no format error, proceed to import
//do import into DB
$import_flag = 0;
$post_data = $this->input->post();
if(isset($post_data['import_radio']) && $post_data['import_radio'] == 1){//new
$import_flag = $this->m_import->import_experiment_new($experiment, $this->session->userdata('user_id'), $ih_id);
}elseif(isset($post_data['import_radio']) && $post_data['import_radio'] == 2){//update
//debug
//$this->firephp->log('update an existing experiment');
$import_flag = $this->m_import->import_experiment_update($post_data['import_eid'], $experiment, $this->session->userdata('user_id'), $ih_id);
}else{//didn't choose a mode
return array('status'=>4, 'message'=>'Please select "new" or "update".');
}
if($import_flag != 0){//import done ok
if($post_data['import_radio'] == 1){
return array('status'=>1, 'message'=>'File has been successfully imported, the new experiment ID is '.$import_flag.'.');
}else{
return array('status'=>1, 'message'=>'File has been successfully imported, Experiment'.$import_flag.' has been updated.');
}
}else{//validation ok, import fail
return array('status'=>2, 'message'=>'Something went wrong during the process of importing, please try again.');
}
}else{
//return experiment with errors which are to be presented in view
$return_error = array();
$return_warning = array();
foreach($experiment as $name => $sheet){
if(isset($sheet['validation'])){
foreach ($sheet['validation']['error'] as $item){
array_push($return_error, $item);
}
foreach($sheet['validation']['warning'] as $item){
array_push($return_warning, $item);
}
}
}
//if(!empty($temp_interval_match_error)){ array_push($return_error, $temp_interval_match_error); }
return array('status'=>3, 'message'=>'The file has invalid cells, please correct the file according to the following hints.',
'error' => $return_error, 'warning'=>$return_warning);
}
}//end of fn do_import()
請幫助找到問題所在。提前謝謝了。
問題解決了。我通過塊刪除代碼塊,最後得出結論,當我上傳文件時,其中一條if語句被其上面的註釋意外地註釋掉了。我想這可能是關於服務器的錯誤。奇怪的。 – user1310312