|
|
|
| Во время инклуда файла, например
<?php
include "file.php";
?>
|
в исходный код выводится пробел, иными словами инклуд файла равен инструкции
как исправить решить проблему? | |
|
|
|
|
|
|
|
для: Lelik
(27.08.2007 в 00:52)
| | >в исходный код выводится пробел, иными словами инклуд файла равен инструкции
>
Что-то немного не понял .... У Вас же в исходном коде include "file.php";? | |
|
|
|
|
|
|
|
для: ddhvvn
(27.08.2007 в 11:09)
| | да, в исходном файле у меня include "file.php";, но эта инструкция выводит пробел в HTML код.
я строю XML на сервере:
<?php
include "file.php";
$xml = "<?xml version=\"1.0\"?><document>content of the document</document>";
echo $xml;
?>
|
то в итоге выводится ошибка, ибо первым символом документа является пробел, а потом уже открывающая скобка тега xml. (отсылаю заголовок header ('Content-Type: text/xml');) | |
|
|
|
|
|
|
|
для: Lelik
(27.08.2007 в 12:43)
| | ну так а что в file.php?
Содержимое в студию! ;) | |
|
|
|
|
|
|
|
для: ddhvvn
(27.08.2007 в 12:48)
| | file.php — это условное название. а вообще это config.php его содержание я взял отсюда | |
|
|
|
|
|
|
|
для: Lelik
(27.08.2007 в 13:28)
| | ну значит, просто в file.php где-то выводится пробел!
уберите его и будет Вам счастье :)) | |
|
|
|
|
|
|
|
для: ddhvvn
(27.08.2007 в 14:07)
| |
<?php
///////////////////////////////////////////////////
// 2006 (C) IT-студия SoftTime (http://www.softtime.ru)
///////////////////////////////////////////////////
// Cейчас выставлен сервер локальной машины
$dblocation = "localhost";
// Имя базы данных, на хостинге или локальной машине
$dbname = "bd";
// Имя пользователя базы данных
$dbuser = "root";
// и его пароль
$dbpasswd = "";
// Устанавливаем соединение с базой данных
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx) {
exit( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
}
// Выбираем базу данных
if (! @mysql_select_db($dbname,$dbcnx) ) {
exit( "<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>" );
}
// Определяем версию сервера
$query = "SELECT VERSION()";
$ver = mysql_query($query);
if(!$ver) exit("Ошибка при определении версии MySQL-сервера");
$version = mysql_result($ver, 0);
list($major, $minor) = explode(".", $version);
// Если версия выше 4.1 сообщаем серверу, что будем работать с
// кодировкой cp1251
if($major >= 4 && $minor >= 1)
{
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
}
?>
|
кто-нибудь видет где в этом документе выводится пробел? и я не вижу, потому данный вопрос я и задал в тему об сервере апач, ибо я подозреваю, что пробел выводится именно из-за настроек сервера. | |
|
|
|
|
|
|
|
для: Lelik
(27.08.2007 в 14:53)
| | Хм...
А подключать файл пробовали по-другому (include("file.php");require("file.php");)? | |
|
|
|
|
|
|
|
для: ddhvvn
(27.08.2007 в 15:06)
| | на апаче зря думаешь... включи буфферизацию, и проблема отпадёт =) | |
|
|
|
|
|
|
|
для: Sobachka
(27.08.2007 в 15:10)
| | «да, и еще: а < - это первый символ в file.php?»
ага
«на апаче зря думаешь... включи буфферизацию, и проблема отпадёт =)»
это через ob_start?
<?php
ob_start();
bla-bla-bla;
$buffer = ob_get_contents();
ob_end_clean();
echo $buffer;
?>
|
| |
|
|
|
|
|
|
|
для: Lelik
(27.08.2007 в 15:17)
| | >это через ob_start?
Да, только можно чуть-чуть по-другому:
<?php
ob_start();
bla-bla-bla;
ob_end_flush();
?>
|
Это тоже работает | |
|
|
|
|
|
|
|
для: ddhvvn
(27.08.2007 в 15:39)
| | мне бы лучше на выходе переменную получать ;)
спасибо. попробую | |
|
|
|
|
|
|
|
для: ddhvvn
(27.08.2007 в 15:06)
| | да, и еще: а < - это первый символ в file.php? | |
|
|
|
|
|
|
|
для: Lelik
(27.08.2007 в 14:53)
| | Пробельные символы могут возникнуть, если файл начинается не с байтов <?
или кончается не байтами ?>
Первое частенько бывает, если файл готовился в notepad.exe и первым символом стоит Byte Order Mark.
Второе запросто может быть, если последняя строка файла - полная, то есть оканчивается символами конца строки. Строка должна быть оборванной прямо на > | |
|
|
|
|
|
|
|
для: Trianon
(27.08.2007 в 16:37)
| | «Первое частенько бывает, если файл готовился в notepad.exe и первым символом стоит Byte Order Mark.»
скорей всего именно из-за этого :) а как исправить не подскажешь? поставить метку в разделе «новый документ» UTF-8 без метки BOM? | |
|
|
|
|
|
|
|
для: Lelik
(27.08.2007 в 16:52)
| | Раньше все скрипты писал в блокноте и ничего подобного не было! | |
|
|
|
|
|
|
|
для: ddhvvn
(27.08.2007 в 17:59)
| | >Раньше все скрипты писал в блокноте и ничего подобного не было!
Попробуйте в стандартном блокноте создать в кодировке utf-8 php-файл с вызвом какой нибудь session_start() - будете "приятно" удивлены. | |
|
|
|
|
|
|
|
для: Lelik
(27.08.2007 в 16:52)
| | Ну если такой флажок есть - конечно.
Я его никогда не видел.
Общий путь - сменить редактор. | |
|
|
|
|
|
|
|
для: Trianon
(27.08.2007 в 21:54)
| | «Ну если такой флажок есть - конечно.»
есть. эт новый редактор я его с ихнего сайта скачал
«Общий путь - сменить редактор.»
не лучший выход (для меня во всяком случае) | |
|
|
|
|
|
|
|
для: Lelik
(27.08.2007 в 21:58)
| | >«Ну если такой флажок есть - конечно.»
>есть. эт новый редактор я его с ихнего сайта скачал
С какого сайта?
ссылка? | |
|
|
|
|
|
|
|
|
для: Lelik
(28.08.2007 в 19:39)
| | Ничего удивительного. Это же не notepad.exe? или как минимум не тот notepad.exe, что входит в стандартный комплект приложений windows. | |
|
|
|