2015-02-24 3 views
1

Je travaille sur du code et j'ai rassemblé les éléments suivants de stackoverflow et certains de mon ancien code. De toute façon, j'essaye juste d'avoir le fichier analysé et traité sans réellement montrer son contenu jusqu'à un stade ultérieur. Il est le PHP:Lecture de fichier php affichant un contenu indésirable

$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); 

J'ai passé toute la journée d'hier de codage à travers tout le code impliqué - fonctions et tout, mais rien ne doit être faire aucun affichage mais je reçois toujours le follwing affiché,

Le sortie non désirée:

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

bien sûr, ceci est affiché de façon répétée pour chaque ligne lue.

Une aide sur ce qui peut être à l'origine de cela?

Le reste du code impliqué dans le traitement: (! Empty ($ csvLine)) // ligne de la vérification du courrier Méthode fonction publique checkCSVContentForEmail ($ csvLine, lineNum $) { si {
$ 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; 
    } 
} 

Le 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

Avez-vous vérifié la méthode 'checkCSVContentForEmail', s'il y a quelque chose qui pourrait être la cause des lignes de sortie? –

+0

affichant le reste du code impliqué ... –

Répondre

3

Voir la méthode des lignes à l'intérieur checkCSVContentForEmail suivantes.

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

L'utilisation de print_r doit être à l'origine de la sortie.

+0

Eh bien, je serai, cela a fonctionné = D Je ne peux pas croire que j'ai manqué que –