PHP görünmez alanı sorunu çözmek için?

7 Cevap

Bu soru burada zaten bir cevabı var:

7 Cevap

Bazı editörler göstermek yok gibi bir BOM sorunu gibi kokuyor. Notepad + +, Emacs veya göstermek herhangi bir başka editör ile dosya açmayı deneyin. Eğer <önce bazı garip karakter varsa, suçlu var.

Bu dosyanın sonunda sonlarındaki boşluk olabileceği durumları önler - Bir ucu PHP dosyalarının sonunda sondaki ?> kapalı bırakmaktır.

Dosya Unicode kodlanmış ise, bir iki bayt BOM (Byte Order Mark) dosyasının başlangıcında ilave edilir. Bu BOM en editörleri tarafından görüntülenmez. Notepad + + Örneğin, sen BOM veya ANSI gibi sadece tamamen farklı bir kodlama olmadan UTF-8 kodlamasını değiştirebilirsiniz.

Bunu düzeltmek için tek bir yolu var: yer bulmak! Bu yerlerde her zaman, bir yerde bulunuyor.

, Düzeltmek three steps in this article deneyin.

Eğer bütün programı duyurabilirsiniz ne denediniz mi? bu kodu kontrol, eklediğiniz emin?> sonunda

  <?php
session_start();
session_register("count");
if(!isset($_SESSION))
{
    $_SESSION["count"]=0;
    echo "<p>counter initialized</p>\n";
}
else
{
    $_SESSION["count"]++;
}
echo "<p>The counter is now <b> $_SESSION[count]</b></p>";
echo "<p>Reload this page to increment</p>";
?>

Vi gibi iyi bir metin editörü ile dosyayı açın ve tüm saçma karakterler ve boşluk göreceksiniz.

Eğer kusurlu karakteri bulmak ve bu dosyaları birçok mevcut ise muhtemelen bir kerede tüm dosyaları dışarı değiştirmek için grep / Xargs / sed kullanabilirsiniz. Sen değil olsa Windows bunu nasıl emin.

Eğer?> Php etiketini kapanış bırakmak düşündüren cevap olarak ... Ben gördüm / Bu defalarca önerdi ama bu sadece benimle doğru görmüyor duydum. Eğer tüm dosyaları gelen kapatma php etiketi atlamak için gidiyoruz eğer o yüzden dosya kesildi değil biliyorum, bu işaret her dosyanın sonuna bir yorum koymak gerekir.

Dosya / / end

Ancak, tüm dosyaları için bunu yapmak için gidiyoruz eğer siz de hemen sonra boşluk silmek olabilir?> Etiketi. Eğer sizin kodlama ile özensiz olmadıkça gerçekten zor değil.

Turn on Output buffering in PHP, this can be done at the php.ini level, or in .htaccess http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-buffering

Sonra tüm çıkışınız script sonlanana kadar bir tampon önbelleğe olacak ve bu seferde gönderilen. Bu genellikle bir performans açısından (veri sunucu daha az gönderir gibi, daha büyük, topakları) dan iyidir. Siteniz mimarisi bağlı olarak) (floş koymak isteyebilirsiniz; sonra da HTML başlıkları oluşturulur.