2013-05-13 5 views
3

데이터를 채우고 CSV로 내 보내어 내 웹 사이트에서 다음 페이지를 채우는 데 사용하는 Excel 템플릿이 있습니다. 내가 Windows에서 파일을 내보낼 때CSV 새 줄 문자

http://play.mink7.com/ifocus_v4/careers.php

내가 바로 새로운 라인의 charcter에 대한 서식을 얻는다. 하지만 내가 MAC에서 동일한 엑셀 파일을 내보낼 때 새 줄 문자가 생기지 않습니다.

Windows File 
play.mink7.com/ifocus/win.csv 

MAc File 
play.mink7.com/ifocus/mac.csv 

.

내 코드

<?php 

include_once("libs/csv2json/CSVParser.php"); 

$jsonParser = CSVParserFactory::Create("json"); 
$path = "uploads/jobs.csv"; 

//This property will use the first row to convert the results into a 
//json object array 
$jsonParser->IsFirstRowHeader = true; 
$jobs = $jsonParser->Parse($path); 

$jobs = json_decode($jobs, true); 

?> 
<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>iFocus - Careers</title> 
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,400,700,300' rel='stylesheet' type='text/css'> 
<script src="js/modernizr.custom.34639.js"></script> 
<script src="js/jquery-1.9.1.min.js"></script> 
<script src="js/jquery.accordion.min.js"></script> 
<link rel="stylesheet" href="css/normalize.min.css"> 
<link rel="stylesheet" href="css/styles.css"> 
</head> 

<body> 
<div id="header" class="wrapper"> 
    <header class="container"> 
    <div id="logo"><a href="index.php"><img src="img/logo.png" width="185" height="69" alt="ifocus logo"></a></div> 
    <nav id="primaryNav"> 
     <ul> 
     <li><a href="index.php">Home</a></li> 
     <li><a href="about_us.php">About Us</a></li> 
     <li><a href="case_studies.php">Case Studies</a></li> 
     <li><a href="services.php">Services</a></li> 
     <li><a href="testimonials.php">Testimonials</a></li> 
     <li><a class="active" href="careers.php">Careers</a></li> 
     <li><a href="contact_us.php">Contact Us</a></li> 
     </ul> 
    </nav> 
    <div class="clearfix"></div> 
    </header> 
</div> 
<div id="mainBody"> 
    <div class="container"> 
    <h3>Careers</h3> 
    <h4>iFocus is looking for experienced professionals in the following areas: </h4> 
    <p>Email your resume to [email protected]</p> 
    <div class="active-jobs"> 

    <?php $i = 1; ?> 
    <?php foreach($jobs as $j): ?> 
     <h3 class="accordion" id="nav-section<?php echo $i++; ?>"><?php echo $j['job_code']." - ".$j['title']; ?><span></span> </h3> 
     <div class="accordion-content"> 
     <p><strong>Relevant Experience:</strong> <?php echo $j['experience']; ?></p> 

     <p><strong>Job Description::</strong></p> 
     <?php $job_desc = explode("\n", $j['job_desc']);?> 
     <ul> 
      <?php foreach($job_desc as $jd):?> 
      <li><?php echo $jd; ?></li> 
      <?php endforeach; ?> 
     </ul> 

     <p><strong>Skill Set:</strong></p> 
     <?php $skillsets = explode("\n", $j['skillsets']);?> 
     <ul> 
      <?php foreach($skillsets as $s):?> 
      <li><?php echo $s; ?></li> 
      <?php endforeach; ?> 
     </ul> 

     <p><strong>Key Words:</strong> <?php echo $j['keywords']; ?></p> 
     </div> 
     <?php endforeach; ?> 


    </div> 
    <div class="clearfix"></div> 
    </div> 
</div> 
<script type="text/javascript"> 
     jQuery(document).ready(function($) { 
       $('.accordion').accordion({ 
         defaultOpen: 'nav-section1', 
         cookieName: 'accordion_nav' 
       }); 
     }); 

     </script> 
</body> 
</html> 

lib 디렉토리 링크 : https://github.com/crosbymichael/php-csv-to-xml-json

내가 "\r\n"를 사용하여 시도하지만 형식화하는 줄 나던 중 하나

신뢰성 (있는 경우 맥에서 라인 끝을 인식하지 못하는
+0

당신이'PHP_EOL'을 시도 않았고, 특정 디렉토리 즉, php.ini 파일에서, .htaccess에 어디서나 설정하거나 심지어와 ini_set 될 수 있다는 것을 의미한다 PHP_INI_ALL입니까? ?? –

+0

Excel 파일을 생성하는 곳에서이 코드의 어느 부분이 있는지 잘 모르겠습니다. –

+0

@elavarasanlee @ 사용 방법을 알려주십시오. –

답변

7

PHPs 파일 기능 정확히 기억한다면 Mac Excel에서와 마찬가지로 \r 문자를 사용합니다.)

php.ini의 auto_detect_line_endings을 true로 설정해야합니다. 그러면 \n, \r 또는 \r\n이든간에 줄 끝이 제대로 인식됩니다.

이 설정은 예를 들어, ini_set('auto_detect_line_endings', true)