2015-02-24 78 views
1

我正在處理一些代碼,我已經將以下一些從stackoverflow和一些從我的舊代碼中刮到了一起。無論如何,我正在試圖解析和處理文件,而不在後面的階段中實際顯示其內容。 還有就是PHP:顯示不需要的內容的php文件讀取

$c = 0; 
      if($fp = fopen($newname,"r")) 
      { 
       while (($line = fgets($fp)) !== false) 
       { 
          //CHECK STRING TO SEE IF IT CONTAINS AN EMAIL       
         $checkResult = $this->checkCSVContentForEmail($line,$c);//$content 
          if(!empty($checkResult)) 
          { 
          if($checkResult == TRUE && is_bool($checkResult) == true) 
          { 

            $this->contactsAddedCounter += 1; 
          } 

          elseif(is_string($checkResult)) 
          { 
           $errLine .= ' 
           <p> CheckResult: '.$checkResult.' &nbsp; Line number: '.$c.' does not have an email</p>'; 
           array_push($this->LogError_contactsUpload, $errLine); 
          } 
          } 
          else 
          { 
           $errLine = "<p>Line number: ".$c." contain's an empty string</p><br>\n"; 
           array_push($this->LogError_contactsUpload, $errLine); 
          } 

        $c++; 
       } 
      } 
      fclose($fp); 

我昨天花了整整一天通過所有相關的代碼編碼 - 的功能,而且幾乎沒有什麼應該做任何顯示,但我仍然得到follwing顯示,

的不想要的輸出:

Array ([0] => " [1] => [2] => [3] => [4] => Normal"" [5] => ""False"" [6] => [7] => [8] => ""Normal""";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;) 

當然這是顯示每行讀取重複。

任何可能導致此問題的幫助?

參與處理的代碼的其餘部分:(!空($ csvLine))的電子郵件方法 公共職能checkCSVContentForEmail($ csvLine,$ LINENUM) { 如果 //檢查線 {
$ partedCSV = explode(',',$ csvLine);

 if(!empty($partedCSV[57])) 
    { 
     $csvEmail = $partedCSV[57]; 
     if(!empty($csvEmail)) 
     { 
      if($Result = $this->checkEmail($csvEmail, $lineNum)) 
      { 
       //convert csv line into sql statement 
       $csv2sqlInsertMultiLine = '('; 
       $csvTosql = ''; 
       foreach($partedCSV as $csvContent) 
       { 
        $str = strip_tags($csvContent); 
        $letters = array('"', "'"); 
        $Quotes = array('', ' '); 
        $strN = str_replace($letters, $Quotes, $str); 
        $letters = array('(', ")"); 
        $Quotes = array('', ''); 
        $c2s_str = str_replace($letters, $Quotes, $strN); 
        $csvTosql[] .= $c2s_str; 

       } 
        //(4,5,6); 
        $theSQL = implode(',',$csvTosql); 
        $csv2sqlInsertMultiLine .= $theSQL; 
        $csv2sqlInsertMultiLine .= '),'; 
        array_push($this->csv2sqlInsertMultiLine, $csv2sqlInsertMultiLine); 

       return $Result; 
      } 
     } 
    } 
    else 
    { 
     $show = 'No Entry for Email address field - WILL NOT BE ADDED TO DATABASE! '.print_r($partedCSV); 
     return $show; 
    } 
    } 
    else 
    { 
     $show = 'This line is empty'; 
     return $show; 
    } 
} 
//Validate Email Method 
public function checkEmail($email, $row) 
{ 
    if(!empty($email)) 
    { 
     $str = strip_tags($email); 
     $letters = array('"', "'"); 
     $Quotes = array('', ' '); 
     $em = str_replace($letters, $Quotes, $str); 

     if(!empty($em) or $em !=' ') 
     { 
      $check = preg_match('/^\[email protected][\w\d.-]{2,}\.[\w]{2,6}$/iU', $em) ? TRUE : FALSE; 

      if($check == TRUE) 
      { 
       $this->contactEmail[$row] = $em;//array_push();     
       return TRUE; 
      } 
     } 
     else 
     { 
      $msg = 'There is no email passed in: '.$em.' <br>Our check resulted in: '.$check; 
      return $msg; 
     } 
    } 
    else 
    { 
     $msg = 'There is no email passed in: '.$email.' <br>Our check resulted in: '.$check; 
     return $msg; 
    } 
} 

jQuery的

// Upload Contacts 
function uploadContacts() 
{ 
    var obj = '#upImprtFile'; 

    var file_data = $k('#ContactsImprt').prop('files')[0]; 
    var form_data = new FormData(); 
    form_data.append("action", "uploadContacts"); 
    form_data.append("upImprtFile", "submit"); 
    form_data.append("ContactsImprt", file_data); 

    $k.ajax({ 
       url: 'inc/runUtilities.php', 
       dataType: 'text', 
       cache: false, 
       contentType: false, 
       processData: false, 
       data: form_data, 
       type: 'post', 
       success: function(data) 
       { 
        $k('#doUpload').html(data).fadeIn('slow'); 
       } 
      }); 
} 
+0

您是否檢查過'checkCSVContentForEmail'方法,如果有任何可能導致輸出行的原因? – 2015-02-24 07:32:01

+0

發佈所涉及代碼的其餘部分... – 2015-02-24 07:38:36

回答

3

查看內部checkCSVContentForEmail方法以下行。

else 
    { 
     $show = 'No Entry for Email address field - WILL NOT BE ADDED TO DATABASE! '.print_r($partedCSV); 
     return $show; 
    } 

使用print_r必須導致輸出。

+0

嗯,我會,那工作= D 不能相信我錯過了 – 2015-02-24 07:49:56