Змінюй хід війни! Допомагай ЗСУ!
  • Знижка на баннерну рекламу 30%! Банер на всіх сторінках сайту, в мобільній та десктопній версії за 14 тис. грн на місяць. Статистика сайту. Контакт: [email protected]

Загрузка изображения с MYSQL через PHP

  • Автор теми Автор теми kisssa
  • Дата створення Дата створення
а почему просто глуп, а не *****? не нужно к себе относиться снисходительно.
 
Во первых Warning: Cannot modify header information - headers already sent by (output started at D:\Site\localhost\www\checkbox_obrabot4ik.php:2) in D:\Site\localhost\www\checkbox_obrabot4ik.php on line 4

До вызова header() ничего не должно быть отправлено в браузер. Никаих echo и путых строк до <?

Во вторых: readfile("$row[Motorcycle_photo]"); Уверен что файл есть? Может нужен абсолютный путь от DOCUMENT_ROOT?
В принципе даже рускоязычные имена файлов проходят норм, если все ок с кодировками. Но по возможности стоилоб уйти с каким нибудь чиферным именам например time().'_'.rand().'.'.strrchr($filename,'.')
 
Вы все еще мне не верите?
 
Вы все еще мне не верите?

Конечно верим!!
Теперь то мы знаем, что только ПХП отправляет заголовок впереди содержимого.
Все нормальные языки отправляют сначала содержимое ответа, а потом уже заголовки HTTP!!!!!11
 
Конечно верим!!
Теперь то мы знаем, что только ПХП отправляет заголовок впереди содержимого.
Все нормальные языки отправляют сначала содержимое ответа, а потом уже заголовки HTTP!!!!!11

Все нормальные языки ничего не отправляют.
 
Вообще то Заголовок идет впереди тела ответа не в пхп а в http, читайте rfc.

А если ваш язык разработки позволяет что нибудь плюнуть в браузер до вывода заголовков, значит там используеться кеширование вывода.

В php это автоматически не делается. И если вы хотите использовать кешированный вывод используйте ob_start(); <Весь ваш код> echo ob_get_clean(); Будет все четко, даже если заголовки отправлены после echo
 

Дилетанты. Вы ничего не понимаете.
В питоне сначало формируется содержимое веб страницы и отсылается в браузер.
А потом ужо заголовки. Посылка с заголовками обгоняет скорость света и встает впереди содержимого...



В php это автоматически не делается. И если вы хотите использовать кешированный вывод используйте ob_start(); <Весь ваш код> echo ob_get_clean(); Будет все четко, даже если заголовки отправлены после echo

1307%20-%20cool_story_bro.jpg


Верный путь к извечной проблеме ПХПистов Allowed memory size of 100500 bytes exhausted (tried to allocate 1 bytes).
Нормальные броузеры принимают заголовки после содержимого, например Опера.
Просто ПХПисты об этом как всегда не знают.
 
Останнє редагування:
Мы не знаем ,как работают сети,мы не знаем,каков механизм их обозначения,мы не знаем вообще ничего,мы знаем только,то как нас учат входить туда ,нам вообще не понятен проводник в просторы,
иначе бы ,как сказал Володя, весь ресурс не наш и мы не в состоянии контролировать его.
 

Для этого форума вполне приемлемо и так говорить. Наверное стоит еще раз прочитать цитату которую я комментировал. По-моему только PHP интерпретатор сразу выплевывает html, если я правильно понял - при первом echo/фатале/варнинге будет отправлен заголовок и тело ответа.
 
Верный путь к извечной проблеме ПХПистов Allowed memory size of 100500 bytes exhausted (tried to allocate 1 bytes).
вы наверное еще не педалили на С++ ;)

Нормальные броузеры принимают заголовки после содержимого, например Опера.
Просто ПХПисты об этом как всегда не знают.
Читаем RFC2616 о протоколе HTTP/1.1

А по холивару скажу, нет разницы Python или PHP если ты уже на чем-то из этого педалишь. Просто Python начали раскручивать и довольно агрессивно. Если бы сейчас у меня стоял выбор перед языками, то не задумываясь я выбрал бы... Java )
 
Нормальные броузеры принимают заголовки после содержимого, например Опера.
Просто ПХПисты об этом как всегда не знают.

Ещё раз скажу, читаем рфц. А то что браузеры умеют исправлять ошибки программистов, ещё не значит что надо эти ошибки делать.


Верный путь к извечной проблеме ПХПистов Allowed memory size of 100500 bytes exhausted (tried to allocate 1 bytes).
Просто ПХПисты об этом как всегда не знают.

Честно говоря за шесть лет ни разу не уперся в эту проблему. Возможно вы не контролируемо создаете объекты?

К стати если вы не хотите выделять память чтоб вынять из буффера содержимое используйте flush(). И совету проштудировать мануал, прежде чем говорить.
 
Честно говоря за шесть лет ни разу не уперся в эту проблему. Возможно вы не контролируемо создаете объекты?
К сожалению тут самизнаетекто немного прав, но частично,
это была во-первых болезнь ПХП 5.1 при перекрестной ссылочности объектов, а во-вторых неполное изучение документации некоторыми несознательными личностями НЕЛЬЗЯ ПЕРЕДАВАТЬ МАССИВ В ФУНКЦИЮ ПО ССЫЛКЕ ЕСЛИ ВЫ НЕ СОБИРАЕТЕСЬ ЕГО В ФУНКЦИИ МЕНЯТЬ! Как это сделано, например, в tcpdf. Просто во всех языках есть минусы, нет универсального, нужно соизмерять стоимость разработки с выгодой проекта. Можно напедалить сайт и на сях, но стоимость будет такая что клиенты будут в шоке и весь интернет состоял бы всего из пары сайтов :D
 
К сожалению тут самизнаетекто немного прав, но частично,
это была во-первых болезнь ПХП 5.1 при перекрестной ссылочности объектов, а во-вторых неполное изучение документации некоторыми несознательными личностями НЕЛЬЗЯ ПЕРЕДАВАТЬ МАССИВ В ФУНКЦИЮ ПО ССЫЛКЕ ЕСЛИ ВЫ НЕ СОБИРАЕТЕСЬ ЕГО В ФУНКЦИИ МЕНЯТЬ! Как это сделано, например, в tcpdf. Просто во всех языках есть минусы, нет универсального, нужно соизмерять стоимость разработки с выгодой проекта. Можно напедалить сайт и на сях, но стоимость будет такая что клиенты будут в шоке и весь интернет состоял бы всего из пары сайтов :D

Да, с tcpdf пришлось повозиться. Там есть места написанные не очень красиво, как и в ADODB да и во многих других либах.

На счет перекрестной ссылочности. Тут, просто, надо понимать что ты делаеш, и тогда подобных проблем не будет.
Я сам в пых ушел из состояния твердого джуна в C. Наверное по этому с памятью аботаю аккуратно.

Из своего опыта могу сказать, что не дывает кривых языков. Бывают кривые программитсты.
 
набросал на скорую руку, помните такое:
class Class1{
$foo = new Class2($this);
}
class Class2{
public fnc __construct( $obj ){
$obj->set($this);
}
}


вот такие штуки не очищались. Исправили только в 5.3
 
Дилетанты. Вы ничего не понимаете.
В питоне сначало формируется содержимое веб страницы и отсылается в браузер.
А потом ужо заголовки. Посылка с заголовками обгоняет скорость света и встает впереди содержимого...

Просто ПХПисты об этом как всегда не знают.

Товарищ Жуков,как ВВи думаете,куда нам отправить этих дилетантов ?
 
набросал на скорую руку, помните такое:
class Class1{
$foo = new Class2($this);
}
class Class2{
public fnc __construct( $obj ){
$obj->set($this);
}
}


вот такие штуки не очищались. Исправили только в 5.3

Естественно они не очищались, потому как живой линк на екземпляр класса в данном случае "подвисает в воздухе". Это почти то же самое, что и безконечная рекурсия. И если программист такое сделал то проблемы в днк у программиста а не у языка разработки. Как я уже говорил: надо понимать что ты делаеш
 
Назад
Зверху Знизу