3.4.2001 13:18 Дмитрий [] Вообще-то, ф-ция header добалвяет запись в заголовок ответа web сервера клиенту, а не в заголовок запроса... Ответ Antonio: Да, действительно так :-) Сорри за очепятку. Был не прав, вспылил. |
30.5.2001 14:03 Elina Zverinskaia [] Добрый день! Меня мучает вот какой вопрос. По адресу http://webde-ag.de/de/presseservice/bildarchiv/a+Das+WEB.DE+logo.htm сделано вот что: когда я хочу скачать tiff-файл в Netscape, то независимо от настройки Preferences для типа tiff "Ask me before opening downloaded files of this type" при нажатии на ссылку tif не возникает окно для выбора открыть или сохранить, а сразу выскакивает окно для сохранения. Как это сделано? С помощью HTTP? Нужно это вот для чего. Если у пользователя не установлен выше упомянутый флажок и нет программы для показа tiff-файлов, то если в HTML ставить просто href=file.tiff, то вылезает ошибка, будто файла нет на сервере. Ответ DL: По-моему, вы смешиваете разные вещи. С помощью HTTP установить, что делать броузеру - сохранить или открыть файл - нельзя. Всё дело в самом броузере. Если он имеет плагин для tiff то может предложить открыть. Если в системе есть программа, приписанная к расширению tiff, тоже будет предложено открыть файл. Например, когда вы нажимаете на ссылку к mp3-файлу, вам предлагается открыть его "оттуда" (на самом деле, файл будет так же скачан, но сохранён в кэше броузера). При чём тут http и "<a href=", не знаю. |
3.7.2001 05:48 Abracadab.Rus [] С помощью эмулирования запроса браузера я пытаюсь заставить сервер делать то, что он делает из окна браузера. Этого возможно добиться? Я не понял что значит "Cookie: income=1rn", как мне отправить на сервер свой кук? Что SetCookie() использовать? Ответ DL: Как написано, так и использовать: в запросе писать строку "Cookie: имя=значение" |
24.7.2001 18:39 Alexander Здесь жаловались на нехватку примеров. Вот один из примеров, взятый с www.phpbuilder.com // Set this to "1" to run a demonstration of this library. $show_example=0; ###################### ORIGINAL AUTHOR'S HEADER: // simple post method // version 1.0 by Andrus (andrus@vnet.ee) // Disclaimer: // everyone can change or use this code however and wherever they want ;) ###################### MY HEADER (Benjamin Smith) /* I like the "share and share alike" philosophy - so this modified library is distributed under the LGPL. If you use this, and make any improvements, you need to publish this in the shared code library on www.phpbuilder.com - Benjamin Smith (bens_nospam@benjamindsmith.com */ // send out "browser" headers function post_send_headers ($fp) { fputs ($fp, "Accept: */*n"); fputs ($fp, "Accept-Language: enn"); fputs ($fp, "Connection: Keep-Aliven"); fputs ($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)n"); } // post data and return reply function post_data ($host, $url, $data, $port=80) { // INPUT VALIDATION: if (strlen($host) return false; if (strlen($url) return false; if ((!is_array($data)) sizeof($data) return false; $fp = @fsockopen ($host, $port, $errno, $errstr, 120); $ret = ""; //if (strncasecmp ($url, "http://", 7) == 0) $url = substr ($url, 7); $req = substr ($url, $p); if ($fp) { fputs ($fp, "POST $req HTTP/1.0n"); post_send_headers ($fp); fputs ($fp, "Content-type: application/x-www-form-urlencodedn"); $out = ""; while (list ($k, $v) = each ($data)) { if(strlen($out) != 0) $out .= "&"; $out .= rawurlencode($k). "=" .rawurlencode($v); } $out = trim ($out); fputs ($fp, "Content-length: ".strlen($out)."nn"); fputs ($fp, "$out"); fputs ($fp, "n"); while(!feof($fp)) { $ret .= fgets($fp,128); } fclose ($fp); } return $ret; } // example how to use: if ($show_example!=1) { // do nothing. } elseif (is_array($HTTP_POST_VARS) && sizeof ($HTTP_POST_VARS)>0) echo "IT WORKED! YOU ENTERED $var"; else { $host='localhost'; $form='/sendform.php'; $pass=array( 'var' => 'some stuff' ); echo $reply=post_data($host, $form, $pass); } ?> |
10.4.2001 11:48 Seagulls [] Сам пользуюсь PHPEditor, вот дистрибутив его занимает уже 1.8 Мб вместо 0.965 Кб Спасибо за совет про EditPlus 2.10c |
10.4.2001 12:01 horm [] Согласен со всем. Homesite 4.5 глючит и просто так. Пользовался им два месяца, после чего стал писать в блокноте. |
10.4.2001 12:02 berg [] Было бы интересно услышать Ваше мнение о редакторе PHP Coder (http://www.phpide.de/index.php4) А вообще хочу заметить что всем навороченным или специализированным редакторам предпочитаю EditPlus, он шустрый и удобный Ответ DL: Спасибо. Посмотрю. |
10.4.2001 13:45 Sad Spirit Homesite надо 4.5.2 ставить. Там часть memory leak'ов почистили, заодно он теперь предупреждает "у системы ресурсы кончаются! щас капец настанет!" |
10.4.2001 15:22 Eugene A TextPad? Ответ DL: Ни разу не слышал. |
10.4.2001 15:43 tony2001 [] Far + Colorer = rulez. Главное иметь правильную версию Рук, чтобы не глючило =)) Ответ DL: Когда я работал сисадмином в маленькой психиатрической больнице, к психиатру поступил мой коллега... :)))) |
10.4.2001 16:17 Alexander Garbuz [] HomeSite тут не при чем. Это вотпрос стабильности Windows. В версии 4.0.2 были некоторые глюки в текстовом редакторе но начиная с версии 4.5.0 их все убрали. А зависание происходит из-за кривого распределения памяти в Windows. На Winddows 2000 за почти год работы в версией 4.5.0 - 4.5.2 ни разу не было сбоя. Хотя для PHP это может и не лучший редактор. Но вот для HTML ничего лучше не придумали пока. HTML-Kit хорошая штука но вот по наглядности интерфейса сильно уступает HS. К тому же в посленей версии есть поддержка JSP. А ASP он подерживает уже почти год. |
10.4.2001 17:05 Виктор [] Можно еще писать в Cold Fusion Studio или JRun Studio (тот же home site, но с поддержкой rds и дополнительми панельками для CFML и JSP). После notepad'a скорость написания скриптов увеличивается раза в 2:)) |
10.4.2001 18:04 Ramzes [] имхо, Homesite лучший редактор жаль, что его здесь нет. Скорее это чисто субъективное мнение редактора его не включить в обзор, а если объективно.. =) Настоящий конструктор, как настроешь, так и будет работать.. самая грамотная подсветка синтаксиса. Я им пользуюсь более 4лет, еще с верисии 1.8 помоему, давно это было, нареканий нет :) Можно изобретать велосипед, а можно пользовать настоящим инструментом, жду 5 вер. наверно там будет предусмотрена панель и для PHP тоже. Ответ DL: Ну... мне ещё было влом качать 13 мегабайт :) |
20.4.2001 10:12 Павел Спасибо! Обязательно попробую. Тем более сейчас мне необходимо иметь и PHP3 (для *.php3) и PHP4 (для *.php) одновременно. Кое-что связанное с установкой стало яснее. |
20.4.2001 12:52 Павел Заработало! Действительно для установки достаточно всего 3 файлов. Единственное что пришлось изменить - это строку LoadModule php4_module "f:/usr/local/php/php4apache.dll" на вариант с другими слешами LoadModule php4_module "f:usrlocalphpphp4apache.dll" в файле httpd.conf . Возможно это только в моей версии Apache: Apache/1.3.6 (Win32)? Теперь у меня работает (он и раньше работал) PHP3 (а-ля CGI) и PHP4 (как модуль). PHP3 обрабатывает *.php3, а PHP4 работает с *.php - совсем как на моем настоящем сайте. |
20.4.2001 12:54 Павел Обратные слеши к сожалению не отобразились. |
20.4.2001 16:15 Serge V. Larionov [] А я сразу на этот способ наткнулся :) Я даже не знал. что это будет, как модуль апача. Так что мне, в этом смысле, повезло. |
21.4.2001 15:14 WereWolf [] Ё-МОЁ!!!!! запарился искать модуль php4apache.dll все остальное есть... дайте плз ссылку де найти..или киньте на почту |
21.4.2001 20:25 WereWolf Спасибо, Pavel M. отбой!! файло прислали... :) |
23.4.2001 00:17 Daemonoid Раз пошла такая пьянка - вот пример. Тестировалось на Apache 1.3.19 / mod_php 4.0.4pl1 / w2k $fn="test.txt"; $fp=fopen($fn,"w"); for ($i=0;$i fclose($fp); $fp=fopen($fn,"r"); $s=fread($fp,256); fclose($fp); echo filesize($fn)." ".strlen($s); Выдает он совсем не то, что ожидалось (256 256). Как показал эксперимент, символ EOF (код #1A) здесь работает именно как EOF. Это касается всех функций, которые работают с файлами - fgets, fread, file, readfile и т.д. А вот в качестве CGI все работает. Только из-за этого пришлось отказаться от вкусностей mod_php (самое вкусное для меня - возможность авторизации средствами PHP). Господа, попробуйте у себя его проверить (и на w2k, и на w98 - ну нет у меня 98х ;). |
23.4.2001 09:57 Павел На 98 твой пример дает то же самое что и у тебя. Попробовал использовать бинарный режим (при открытии букву b) и все заработало. Вместо $fp=fopen($fn,"w"); пиши $fp=fopen($fn,"wb"); Вместо $fp=fopen($fn,"r"); пиши $fp=fopen($fn,"rb"); Проверь на своей системе. |
30.4.2001 11:51 DL [] Отзывы не работали, теперь, кажется, всё в порядке. |
30.4.2001 18:01 eagle Зачем нужны функции, если эта навигационная строка используется на странице один раз? Проще инклудить или реквестить pages.inc, рисующий нужную строку, а текущую страницу и количество страниц получать в запросе в основной странице. Это позволит и учитывать специфичность запросов - фильтрация, сортировка, и в начале страницы нередко полезно указать страница 5 из 46. Проверять же достоверность количества страниц вовсе не барское дело - всегда найдется клиент, которому интересно будет ввести число по больше ручками. Ответ DL: Навигационная строка может использоваться два раза - если списка на странице два (хотя это, конечно, редкий изврат :). Просто у меня include и require для вывода данных запрещены. Потому что шаблонами пользуюсь. Там делается $page->assign(array("limit" => get_limit(...), "nav_bar" => draw_bar(...))); >страница 5 из 46 Кому надо, пусть свою функцию напишет - это ж для программистов сайт! Что им, сложно? :) |
1.5.2001 13:59 Nina [] Дима, исправь ссылку во втором абзаце строки ("Я уже писал про..." Ответ DL: Исправлено. |
4.5.2001 15:30 Purr Serpent [] Все это достаточно красиво и просто, но лучше бы было продолжение(расширение) статьи для случая, когда существуют (используются) несколько источников (возможно разнородных по структуре) для формирования результирующего списка. Ответ DL: Проблематично. |
6.5.2001 14:03 BOLK > if ($count/2==intval($count/2)) Замени на $count & 1. После такого остально читать не хочется. |
6.5.2001 14:05 BOLK > $amount = @mysql_result(mysql_query("SELECT count(id) as goods_total FROM goods"),0); Э... а это что? :(( list ($amount) = mysql_fetch_row (...); не лучше? |
16.5.2001 09:25 Constant [] все эти варианты хороши только для случая, когда все разбито именно по записям. А как же быть с вариантами когда в поле сидит здоровый кусок текста и именно его нужно разбить по страницам, причем в зависимости от того сколько строк хочет увидеть пользователь на странице? Есть алгоритмы? Я вот с этим трапался довольно долго... Ответ DL: Это совсем другая песня, хотя что-то общее есть. |
17.5.2001 13:48 Ioanna A esli imen 15, u kazhdogo imeni po 30 zagolovkov k opisaniu, + vosmozhnost' prokrepit' file?... |