2014-11-12 8 views
0

코드를 사용하여 내 문제를 설명 할 때 원치 않는 선을 제거하십시오.Content-Type : text/plain

<? 
include('configs.php'); 
require_once 'DBQueries.php'; 
$con = mysql_connect($db_host, $db_user, $db_pass); 
mysql_query("SET NAMES 'cp1250'") or die('Could not set names');  
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db($db_dbname);  
$oUnexportedOrders = DBQueries::getInstance()->getUnexportedOrders(); 
header("Content-Type: text/plain");   
while ($aOrderExport = mysql_fetch_assoc ($oUnexportedOrders)){ 
    echo $aOrderExport['data']; 
} 

무슨 일이 일어나고 무엇 : 텍스트/일반 : 내용 - 유형으로 설정 헤더 :

  1. 는 몇 가지 물건을 DB에
  2. 연결을 포함
  3. 는 DB에서
  4. 중요 데이터를 얻을
  5. 중요 : 에코가있는 텍스트 데이터 인쇄
  6. ,515,

결과 :

**!!! There are 7 unwanted lines !!!** 
line of data 
line of data 
line of data 
line of data 
.... 

예상 결과 :

line of data 
line of data 
line of data 
line of data 

- 예상을위한 내부의 반향에 의해 생성 된 데이터 라인들이지만, 그 7 선없이.

질문 : (등) 원치 않는 라인을 제거하는 경우

어떻게 그렇게 할 수있는, 무엇을 호출?

감사합니다.

+2

[** 새 코드 **에서 mysql_ * 함수를 사용하지 마십시오. (http://bit.ly/phpmsql). 그들은 더 이상 유지되지 않으며 [공식적으로 사용되지 않습니다] (http://j.mp/XqV7Lp). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). – esqew

+0

나는 이것을 알고 있지만 당신의 제안에 감사드립니다. – Mirgen

답변

1

ob_clean();가 포함 된 파일에서 원치 않는 여분의 공백을 제거한다 ob_start();

<? 
ob_start(); 
include('configs.php'); 
require_once 'DBQueries.php'; 
$con = mysql_connect($db_host, $db_user, $db_pass); 
mysql_query("SET NAMES 'cp1250'") or die('Could not set names');  
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db($db_dbname);  
$oUnexportedOrders = DBQueries::getInstance()->getUnexportedOrders(); 
ob_clean(); 
header("Content-Type: text/plain");   
while ($aOrderExport = mysql_fetch_assoc ($oUnexportedOrders)){ 
    echo $aOrderExport['data']; 
} 

와 연동 해에, 출력 버퍼를 지 웁니다.

+0

Magic! 그것은 작동합니다. 빠르고 도움이되는 답변을 해주셔서 대단히 감사합니다. – Mirgen

+0

나는 이것이 왜 일어나는지 설명하는 것도 좋은 생각이라고 생각합니다. – Cyclonecode

+1

잘 http://php.net/manual/en/function.ob-start.php에서 그것은 아주 명백합니다 : 인용구 : "출력 버퍼링을 활성화하는 동안 출력 (헤더) 이외의 스크립트에서 보낸 대신, 대신 출력은 내부 버퍼에 저장됩니다. " – Mirgen

0

빈 줄은 신비로운 미지의 부분이 아닙니다. 그들은 당신의 코드 어딘가에 있습니다. PHP 태그를 열기 전에 그리고 닫는 PHP 태그 뒤에 공백을 포함하여 파일 (포함/포함하는 파일 포함)을 확인하십시오. 그 공백이 브라우저에 전달됩니다.