Так я ж русский)))) и кто такой альтруист??? честно, не знаю )))
» MySql/PHP: общие вопросы
Проблемка с выводом изображения из бд вот пример кода:
<?
require 'connect.php';
$query="SELECT * FROM table";
$result=mysql_query($query);
$data=array();
while ($row = mysql_fetch_assoc($result))
$data[$row['id']]=$row;
?>
<?
header("Content-type: image/gif");
echo $data[1]['img']
?>
Изображение выводиться в виде символов, по идее эта строка должна была мне помоч
...
header("Content-type: image/gif");
...
но браузер по прежнему выводит символы и ошибку:
Warning: Cannot modify header information - headers already sent by...
в чём же проблема??
<?
require 'connect.php';
$query="SELECT * FROM table";
$result=mysql_query($query);
$data=array();
while ($row = mysql_fetch_assoc($result))
$data[$row['id']]=$row;
?>
<?
header("Content-type: image/gif");
echo $data[1]['img']
?>
Изображение выводиться в виде символов, по идее эта строка должна была мне помоч
...
header("Content-type: image/gif");
...
но браузер по прежнему выводит символы и ошибку:
Warning: Cannot modify header information - headers already sent by...
в чём же проблема??
На кой, простите, хрен, делать так:
Код:
?>
<?
Код:
?>
<?
Так как я новичёк в этом деле, конечно могут быть ошибки, именно поэтому я здесь и задал этот вопрос, так как хотел получить помощь от знающих людей. Именно для этого и существует форум! И вместо того, чтобы кричать какой я "идиот", можно было просто указать на ошибки и всё... Хотя я так и не пойму, что здесь идиотского и о каком пробеле идёт речь? Был бы очень благодарен, если бы кто-то показал, что именно не так...
GRUZ222
все довольно элементарно. Ты пишешь в файле, а в файле каждый символ это - символ. Ну вот собственно когда мы ставим символ новой строки (нажимаем энтер), в файле появляется символ, который говорит интерпретатору начать вывод. А заголовки после вывода, не печатаются. Проблемы нет на самом деле, ну ты пойми, бывают и плохие дни в жизни, может человек просто устал... но все же помог. Пусть и грубовато.
все довольно элементарно. Ты пишешь в файле, а в файле каждый символ это - символ. Ну вот собственно когда мы ставим символ новой строки (нажимаем энтер), в файле появляется символ, который говорит интерпретатору начать вывод. А заголовки после вывода, не печатаются. Проблемы нет на самом деле, ну ты пойми, бывают и плохие дни в жизни, может человек просто устал... но все же помог. Пусть и грубовато.
GRUZ222
Я не говорил, что автор кода идиот. Я сказал, что такая запись отвратительна, и в ней собственно и кроется ошибка. Советую читать все так, как написано, а не так, как хочется подразумевать.
А суть ошибки Ternik уже разжевал.
Я не говорил, что автор кода идиот. Я сказал, что такая запись отвратительна, и в ней собственно и кроется ошибка. Советую читать все так, как написано, а не так, как хочется подразумевать.
А суть ошибки Ternik уже разжевал.
Ternik
Я поудалял все лишние пробелы и энтеры заключил код в одинарные теги<?...?> и всё равно пишет ошибку, не могли бы вы пожалуйста на примере моего кода показать где именно должен находиться этот проклятый header и где же всётаки этот пробел, из-за которого заголовки не выводятся!!!
Добавлено:
<?php
$db_host = "localhost";
$db_uname = "name";
$db_pass = "pass";
$db_name = "dbname";
$error_sql = "Ошибка в составлении запроса.";
$error_db = "Ошибка подключения к БД.";
$msg_error_tabl = "Произошла ошибка в выборе таблицы.";
@mysql_connect($db_host, $db_uname, $db_pass) or die($error_sql);
@mysql_select_db($db_name) or die($error_db);
$imgResult = mysql_query("SELECT * FROM images WHERE id=1");
$image = mysql_result($imgResult, 0, "images");
header("Content-type: image/gif");
echo $image;
?>
Вот нашел другой код, картина таже самая, хотя есть люди котрые утверждают, что он работает!! Вы хотите сказать, что и здесь ошибка? Я уже начинаю думать может это у меня Денвер "ругается"...
Я поудалял все лишние пробелы и энтеры заключил код в одинарные теги<?...?> и всё равно пишет ошибку, не могли бы вы пожалуйста на примере моего кода показать где именно должен находиться этот проклятый header и где же всётаки этот пробел, из-за которого заголовки не выводятся!!!
Добавлено:
<?php
$db_host = "localhost";
$db_uname = "name";
$db_pass = "pass";
$db_name = "dbname";
$error_sql = "Ошибка в составлении запроса.";
$error_db = "Ошибка подключения к БД.";
$msg_error_tabl = "Произошла ошибка в выборе таблицы.";
@mysql_connect($db_host, $db_uname, $db_pass) or die($error_sql);
@mysql_select_db($db_name) or die($error_db);
$imgResult = mysql_query("SELECT * FROM images WHERE id=1");
$image = mysql_result($imgResult, 0, "images");
header("Content-type: image/gif");
echo $image;
?>
Вот нашел другой код, картина таже самая, хотя есть люди котрые утверждают, что он работает!! Вы хотите сказать, что и здесь ошибка? Я уже начинаю думать может это у меня Денвер "ругается"...
GRUZ222
Цитата:
полностью, плиз.. не нужно приводить часть предупреждения
Цитата:
пробелы убрать перед <?php
Цитата:
Warning: Cannot modify header information - headers already sent by...
полностью, плиз.. не нужно приводить часть предупреждения
Цитата:
Вы хотите сказать, что и здесь ошибка?
пробелы убрать перед <?php
Cheery
Спасибо огромное!!! заработало! Только есть одно "но", я даже и не догадывался, что картинку прийдёться вызывать таким методом <img src="img.php">, так как внутри <body> не работает и приходиться код пихать в отдельный файл!!! Я то думал, что можно будет выводить потом как обычную переменную в начале документа запрос а потом уже где удобно выводить - echo $image;. Или всё таки есть способ?
Спасибо огромное!!! заработало! Только есть одно "но", я даже и не догадывался, что картинку прийдёться вызывать таким методом <img src="img.php">, так как внутри <body> не работает и приходиться код пихать в отдельный файл!!! Я то думал, что можно будет выводить потом как обычную переменную в начале документа запрос а потом уже где удобно выводить - echo $image;. Или всё таки есть способ?
GRUZ222
Цитата:
нет.. один запрос в http - один content-type
поэтому и говорят - не нужно сохранять картинки в базу
Цитата:
Или всё таки есть способ?
нет.. один запрос в http - один content-type
поэтому и говорят - не нужно сохранять картинки в базу
Я понял) всем большое спасибо, вы действительно мне помогли!
где указать в mysql 5 количество сесий для одного пользователя
Цитата:
In MySQL 5.0, you can limit the following server resources for individual accounts:
*
The number of queries that an account can issue per hour
*
The number of updates that an account can issue per hour
*
The number of times an account can connect to the server per hour
(c) http://dev.mysql.com/doc/refman/5.0/en/user-resources.html
Цитата:
поэтому и говорят - не нужно сохранять картинки в базу
Картинки можно прекрасно вытаскивать в ходе генерации страницы и рассовывать в base64 закодированную data. Это чаще всего не оправдано, и всё-же бывает полезно.
Ну, а в самой идеологии хранения изображений в базе, нет совершенно ничего плохого.
kkRiz
Цитата:
кроме, опять же, лишней и ненужной нагрузки
Цитата:
Ну, а в самой идеологии хранения изображений в базе, нет совершенно ничего плохого.
кроме, опять же, лишней и ненужной нагрузки
Цитата:
кроме, опять же, лишней и ненужной нагрузки
В том случае если таскать их оттуда при каждом запросе, что естественно жутко.
Хотя, у меня есть пример базы с 9,8 миллионами записей к которым содержится около 50 тысяч изображений, и ничего - летает вполне себе. (а клиенты при этом сосут данные исключительно через коннект к БД без потребности в поднятии ещё и веб\фтп сервера)
kkRiz
Цитата:
зависит от числа запросов.. опять же - по данному вопросу есть отдельная тема указанная выше
Цитата:
Хотя, у меня есть пример базы с 9,8 миллионами записей к которым содержится около 50 тысяч изображений, и ничего - летает вполне себе.
зависит от числа запросов.. опять же - по данному вопросу есть отдельная тема указанная выше
Цитата:
Ну, а в самой идеологии хранения изображений в базе, нет совершенно ничего плохого.
Разве-что руками реализовать все фичи протокола, как то кеширование. Тогда действительно ничего плохого, если мощности MySQL сервера и канал связи позволяет.
Цитата:
Разве-что руками реализовать все фичи протокола, как то кеширование. Тогда действительно ничего плохого, если мощности MySQL сервера и канал связи позволяет.
Какого, простите, протокола?
Тем более Вы себе противоречите, при кешировании мощность базы и пропускная способность совершенно не важна.
FUTURiTY
а при чем тут данная тема??
заменить \r\n на \n
а при чем тут данная тема??
заменить \r\n на \n
Cheery
Цитата:
не понял?
что и где нужно заменить что бы убрать колонтитулы переноса?
можно по подробнее..
извиняюсь за офф.топ
Цитата:
заменить \r\n на \n
не понял?
что и где нужно заменить что бы убрать колонтитулы переноса?
можно по подробнее..
извиняюсь за офф.топ
FUTURiTY
Цитата:
используйте php редактор, который позволяет сохранять переносы на новую строку в unix стиле, а не windows. или, хотя бы, переключаться между ними.
в windows новая строка это \r\n
в unix она просто \n
в маке так вообще \r
Цитата:
можно по подробнее..
извиняюсь за офф.топ
используйте php редактор, который позволяет сохранять переносы на новую строку в unix стиле, а не windows. или, хотя бы, переключаться между ними.
в windows новая строка это \r\n
в unix она просто \n
в маке так вообще \r
Цитата:
используйте php редактор, который позволяет сохранять переносы на новую строку в unix стиле
например?
в PHP Expert Editor 4.2 можно конвертануть?
извиняюсь за офф.топ
gVim самый лучший редактор для написания кода (html, php, js и многие другие)
попробуй тупо открыть в блокноте скопировать от туда текст и вставить в свою прогу
попробуй тупо открыть в блокноте скопировать от туда текст и вставить в свою прогу
Цитата:
gVim самый лучший редактор для написания кода (html, php, js и многие другие)
это конечно хорошо. но мне не нужно писать код, мне нужно всего лишь избавиться от колонтитулов переноса в имеющемся коде.
Цитата:
попробуй тупо открыть в блокноте скопировать от туда текст и вставить в свою прогу
пробовал, тоже самое, колонтитулы как были так и остались,
в принципи куда они могут деться, они тоже также копируются
Цитата:
это конечно хорошо. но мне не нужно писать код, мне нужно всего лишь избавиться от колонтитулов переноса в имеющемся коде.
Он это может сделать...
Также можно попробовать старым добрым вордом сделать замену, используя спец.символы.
Следующий вариант "Штырлиц" он перекодирует в разные кодировки, может поможет
Либо передай мне файлик я попробую помочь...
да возьми наконец нормальный блокнот вроде EmEditor и сделай нужные переносы...
разводят тут проблемы на пустом месте...
разводят тут проблемы на пустом месте...
Все всем спасибо !
код кодвертанул в AkelPad'е
там можно Win/Unix стили менять
код кодвертанул в AkelPad'е
там можно Win/Unix стили менять
Предыдущая тема: PHP: лимит времени на выполнение скрипта
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.