Domanda

Ho lavorato su un CMS personalizzati in PHP e non ho incontrato alcun problema fino a poco tempo. Durante il test, ho notato che la stringa di  ha cominciato comparire in cima un'unica pagina indice. Test con alcune dichiarazioni di stampo tutto il codice, sembra che l'uscita è in arrivo tra un file comprendono.

File A

<?php
if (!defined('IN_CMS'))
{
    exit;
}

require(INCLUDE_PATH . '/pages/homepage/main.php');
?>

File B (File Incluso)

<?php
if (!defined('IN_CMS'))
{
    exit;
}

$db->sql_query("SELECT * FROM `" . DB_PREFIX . "categories` active = 1");
$cats = $db->sql_results();
$categories = array();

foreach($cats as $cat)
{
    $cat_info = array(
        'name' => $cat['name'],
        'description' => $cat['description'],
        'image' => $setting['site_url'] . '/thumbnails/' . $cat['image'],
    );

    $categories[] = $cat_info;
}

include theme('index');
?>

Non riesco a capire dove l'uscita è venuta da, ma sembra di essere da qualche parte tra i due file. Ho aggiunto ob_start() a destra prima la riga include in file A e ob_end_clean() proprio all'inizio del file incluso e l'uscita non si presenta, tuttavia non c'è da nessuna parte in uscita randagi nei due file.

È stato utile?

Soluzione

È necessario salvare il file con codifica UTF-8 without BOM.

Il BOM UTF-8 è una sequenza di byte (EF BB BF) che permette al lettore di identificare il file come file UTF-8. Normalmente, la distinta viene utilizzata per segnalare l'endianness della codifica, ma poiché UTF-8 non ha alcun problema di codifica, la distinta è necessaria.

Come fare:

Scarica un buon editor di testo come Notepad ++ e utilizzando tale convertire e salvare il file con il UTF-8 without BOM codifica.

Ecco un link al mio altra risposta in dettaglio come installare e convertire un file di codifica utilizzando Notepad ++.

Altri suggerimenti

E 'probabilmente una BOM . Alcuni editor hanno le opzioni per salvare con una distinta base. Provare a salvare il file in un altro editor e caricarlo, o trovare l'impostazione bom e disabilitarlo.

si chiama BOM e, probabilmente, il vostro editor putted lì quando si salva il file. forse si dovrebbe cercare un opzione utf8 whithout BOM nel vostro editor.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top