← Июнь 2001 → | ||||||
1
|
3
|
|||||
---|---|---|---|---|---|---|
4
|
5
|
6
|
7
|
8
|
9
|
|
11
|
12
|
13
|
14
|
15
|
17
|
|
18
|
19
|
20
|
21
|
22
|
24
|
|
25
|
26
|
27
|
28
|
29
|
30
|
За последние 60 дней ни разу не выходила
Сайт рассылки:
http://programmazhizni.ru
Открыта:
04-03-2001
Адрес
автора: inet.webbuild.php3programm-owner@subscribe.ru
Статистика
-1 за неделю
Программируем на PHP - вопросы и ответы.
Рассылка
сайта
РНР для
всех!
Выпуск номер 15
ЗдравствуйтеИтак, сегодня хватит статей, пойдем в наших изысканиях дальше. И опять вернемся к одному из старых выпусков. Но на этот раз с пользой. Речь пойдет о гостевых входах.
заказать книги по РНР (только Беларусь)
Гостевой вход
Это - дело хорошее. Провайдеры предоставляют такую возможность своим пользователям как проавило только в строго ограниченной зоне. Выхода из этой зоны на внешний Интернет может не быть, а может...
Если провайдер предоставляет Вам хостинг, воспользуйтесь этим. Как правило, это пару мегабайт бесплатно, остальное - за деньги. Но для наших целей хватит. Давайте попробуем. Для начала проверьте, уходят ли письма из РНР, если их отправлять с гостевого входа. Как правило, администраторы оставляют эту возможность своим пользователям, но в любом случае Вам нужно проверить это. Как конкретно - полистайте старые выпуски рассылки. Или посмотрите на сайте - все есть там. Дальше - самое интересное. Помните, как мы граббили информацию с сайтов. А что если попробовать сделать точно также, но с гостевого входа? Только с той разницей, что ничего мы вырезать не будем, а просто выведем полученную информацию. Таким образом, просто подменяя ссылки мы можем многого добиться. Для примера могу привести интересную ссылку. Точнее две. Первая - обычная ( http://tweak.tut.by ), а вторая - специально сделанный скрипт, который демонстрирует замену практически любых блоков. Вот она - вторая ссылка ( http://virtual.bresttelecom.by/komputer/opti.phtml ) Как видите, подмене подверглись баннеры, и некоторые текстовые блоки. Но самое главное - ссылки тоже претерпели изменения, и теперь указывают на скрипт, а не на сам сайт. Вот как устроен скрипт...
if ($urltweak == "") { $link = "http://tweak.tut.by/"; } else { $link = $urltweak; }
Если переменная $urltweak пуста, ей присваивается адрес главной странички, если нет, то... нет. Теперь в переменной $link - нужный адрес.$file = @fopen($link, "r");
if ($file) { $rf = fread($file, 200000); fclose($file); }Открываем соединение и считываем 200000 байт (хватит...). Если все прошло успешно, идем дальше. Если нет - не повезло.
$rf = str_replace ("<img src=/img/site/fav.gif border=0 width=15 height=13>","", $rf);
$rf = str_replace ("<img src=/img/site/start.gif border=0 width=20 height=20>","", $rf);Зачем нам эти картинки - просто вырежем их из кода. Тут есть нюанс. Возможно, что автор странички изменит регистр букв, и тогда прием не сработает, но по секрету скажу - он пока в отпуске :-)
$a = 0; $rf = trim (chop ($rf)); // удаляем повторяющиеся пробелы
$s = strpos ($rf, "<small><font face=\"Verdana\">Счетчики", 0); // указываем место, с которого
// будем вырезать$rf1 = substr ($rf, 0, $s);
$s1 = strpos ($rf, "<hr color=\"blue\"", $s);
$rf1 = $rf1.substr ($rf, $s1); $rf = $rf1;
$s = strpos ($rf, "www.linkexchange.ru", 0);
$rf1 = substr ($rf, 0, $s);
$s1 = strpos ($rf, "</a>", $s);
$rf1 = $rf1."virtual.bresttelecom.by\"><IFRAME src=http://virtual.bresttelecom.by/baner/468-60.phtml?ii=0 width=468 height=60 scrolling=no frameborder=0></IFRAME>
".substr ($rf, $s1); $rf = $rf1;Вырезаем то, что не нужно и вставляем собственный блок информации. С баннером в вверху странички разделались. На очереди другие...
$s = strpos ($rf, "<IFRAME src=\"http://10e2", 0);
$rf1 = substr ($rf, 0, $s);
$s1 = strpos ($rf, "</a></IFRAME>", $s);
$rf1 = $rf1.substr ($rf, $s1); $rf = $rf1;
$s = strpos ($rf, "<IFRAME src=\"http://10e2", 0);
$rf1 = substr ($rf, 0, $s);
$s1 = strpos ($rf, "</a></IFRAME>", $s);
$rf1 = $rf1.substr ($rf, $s1); $rf = $rf1;
$rf = str_replace ("</A>","</a>", $rf);
$s = strpos ($rf, "Мой друг", 0); $s = strpos ($rf, "<p align=\"center\">", $s);
$rf1 = substr ($rf, 0, $s);
$s1 = strpos ($rf, "</a>", $s);
$rf1 = $rf1."<p align=\"center\"><a target=_blank href=http://virtual.bresttelecom.by/php/><img src=http://virtual.bresttelecom.by/php/php/php4.gif border=0 width=88 height=31 alt=\"PHP для всех! Программируем сами.\"></a>".substr ($rf, $s1); $rf = $rf1;
$s = strpos ($rf, "Webscript.ru", 0);
$s = strpos ($rf, "<script", $s);
$rf1 = substr ($rf, 0, $s);
$s1 = strpos ($rf, "</script>", $s);
$rf1 = $rf1.substr ($rf, $s1+9); $rf = $rf1;Это Вам чисто для опытов. Все баннеры заменены, вызов новостей с других сайтов тоже отрезаны. Дело за ссылками. Но это просто.
$rf = str_replace ("HREF=","href=", $rf);
$rf = str_replace ("href=\"http://www.tweak.tut.by/","href=\"http://virtual.bresttelecom.by/komputer/opti.phtml?urltweak=http://www.tweak.tut.by/", $rf);
echo $rf;В конце, как Вы поняли, мы выведем результат на экран, а то как же иначе :-)
Вот и вся работа. Немного длинно и сложно, зато последовательно. Теперь Вы сможете организовать доступ к внешнему Интернету из своего гостевого входа. А еще - еще можно проверять, как входит человек, и если он вошел по гостевому входу - выводить другую информацию и другие баннеры. Сделать это просто, достаточно знать IP адрес Вашего гостевого входа. Потом считываем этот адрес с посетителя и сравниваем с эталонном. Если IP гостевой, вывод всех баннеров и счетчиков из внешнего Интернета отменяем. Сделать можно так:
$ip=getenv('REMOTE_ADDR');
if ($ip == "IP адрес" or $ip == "127.0.0.2" or $ip == "что угодно") { человек зашел по гостевому } else { как обычно }Только подставьте нужные IP, считать которые сами знаете как. Вывести на экран $ip...
На этом вроде все...
Андрей Кухарчик @ июнь 2001
http://virtual.bresttelecom.by
virtualbrest@tut.by
P.S. По Фидо пришла ссылка, которую я с удовольствием переадресовываю Вам. Не знаю, будет ли она работать (когда я проверял - работала), но там лежит файл около 7,5 Мегабайт, в котором дистрибутивы PHP+Apache+MySQL. Все уже установлено и настроено, нужно только распаковать куда надо. Пробуйте!
http://virtual.bresttelecom.by/apache.phtml
Кстати, я скачал файлик, там все на русском, но если у Вас Win Me или W2K могут возникнуть проблемы, так как по умолчанию все ставится на виртуальный диск X, который монтируется в досе из autoexec.bat А указанные операционки их не используют. Правда, в первой мне удалось все запустить, но пришлось вручную запустить этот файл, так как сам по себе он не хотел идти, постоянно переименовываясь в резервную копию. Так что будьте морально готовы. И еще информация - для работы в Win95 Вам понадобится файл (какой - пока не знаю, знаю только что винда начнет ругаться на отсутствие этого файла), его нужно будет скачать из Интернета. И еще большое спасибо автору дистрибутива - дело он сделал нужное и полезное.Если Вас интересует покупка книг по РНР, предлагаю Вам как вариант белорусский электронный магазин OZ.BY . Вы сможете перевести деньги как почтовым переводом, так и через расчетный счет из сберкассы.
Сайты в тему
Предлагаю Вам коллекцию сайтов, где Вы сможете отыскать различную информацию по поводу РНР. Если у Вас есть предложения по поводу расширения этого списка - я с удовольствием добавлю сюда еще один полезный ресурс. Присылайте свои ссылки и описания.
- http://www.php.net/ - официальный сайт РНР. Масса информации, но только для тех, кто дружит с английским.
- http://go.to/php-encoder - защита РНР скриптов.
- http://phpclub.net - Архив бесплатных PHP-приложений (вкл. E-commerce), форумы, чаты, рассылки, книги, обучение, хостинг.
- http://www.devshed.com/Server_Side/PHP/ интересные статьи по PHP и не только.
- http://ancient.dax.ru На сайте много готовых решений на PHP: форумы, чаты, гостевые книги и многое другое. Кроме того сам сайт реализован на php.
- http://detail.phpclub.net/ - как обычно, о РНР.
Где можно посмотреть
А и правда. РНР, да РНР! А где посмотреть как все это работает и оценить, стоит или нет заниматься этим... Правильное решение будет таким. Посетите сайты, указанные ниже, и посмотрите как они работают. Кстати, если хотите продемонстрировать всем свой проект или то, чего Вы достигли изучая РНР, присылайте ссылку и описание, и все это будет размещено здесь. Только не забудьте поставить у себя наш баннер, можно и не на главной, но буду не против :-) Ссылки на сайты будут вращаться по кругу по мере поступления.
http://virtual.bresttelecom.by - Виртуальный Брест. На РНР работают чат, форум, гостевая, объявления, статистика посещений, обмен компакт дисков, анекдоты.
www.gdekupit.ru Интернет-каталог Где купить в России. Каталог полностью автоматизирован. Регистрация, добавление нового города, Оформление Договора, выписка счета, служба рассылки и т.д. полностью автоматизировано. Все, кроме счетчика посещений на PHP и MySQL. Кстати, регистрация предприятий, расположенных в любом города России, абсолютно бесплатная.
http://www.ohrana.nsk.su - Практически весь сайт написан на PHP. Используется БД на MySQL.
http://www.webclub.lv - Латвийский Клуб Веб-мастеров Наш сайт предназначен для всех кто творит и хочет творить Интернет. Мы предлагаем информацию, помощь и примеры по дизайну. Довольно обширная коллекция скриптов. Статьи, учебники и многое другое.
http://www.love24h.com/ru/ - международная служба знакомств, все анкеты (более 1500) с фото
http://www.freeglobus.com/ - сайт бесплатных игр (все со скриншотами и линками на загрузку)
http://trinet.wallst.ru - на PHP сделан каталог игр
www.nixers.com - сайт для поиска непостоянной работы в Ирландии. Short term, part-time and temporary jobs in Ireland.
http://karaganda.central.kz - "На связи Караганда" - содержание сайта полностью отделено от оформления.
http://moredeneg.wallst.ru - Сайт о Реальном заработке в сети. На сегодняшний день сайт почти полностью на PHP.
http://www.yanka.f2s.com - полностью написан на PHP. Работают следующие скрипты: новости, talk box, links, фотографии, гостевая, тексты, дневник.
Почта рассылки
Открывается новый раздел, в котором будут публиковаться материалы, дополнения и обзоры, составленные по Вашим письмам...
Сегодня тут тишина.
Вопросы и ответы
задать вопрос
Предлагаю Вам присылать свои вопросы на адрес рассылки. Первое время будет действовать только вариант пересылки вопроса по почте, но в будущем приоритет будет отдаваться вопросам, заданным с формы на сайте. Вопрос должен быть кратким, точным и по теме. Ответы на вопросы по мере знаний будут даваться мной, а если я не смогу дать Вам исчерпывающий ответ - кто-то из подписчиков обязательно поможет. А если Вы знаете ответ на заданный вопрос - не поленитесь ответить. Этим Вы очень поможете кому-то решить свою проблему. Синтаксис и грамматика - авторские.
Вопросы:
- Если я открываю соединение
функцией mysql_connect, то оно закрывается после
отработки скрипта или нужно вызывать mysql_close? И
вообще, стоит ли пользоваться mysql_pconnect или она ест
много ресурсов при увеличении посетителей?
ответить - Вопрос такой: каким образом
можно избавиться от повторной посылки данных
скрипту? Пример: пользователь заполнил форму,
щелкнул на кнопке, скрипт отработал... но если
пользователь щелкнет "Refresh", то скрипт
отработает повторно... Чего я уже не делал - и
редирект, и через куки отслеживал... но может есть
вариант через переменные окружения CGI? Ну там
типа HTTP_VARIABLES_POST или еще как-то?
ответить - Расскажи, пожалуйста, про cookies.
Как их послать, принимать и обрабатывать. Есть
функция setcookies, но что-то она ничего не делает ...
Или я что-то не то делаю. У меня Windows98+Apache+PHP4.
Сначала ошибка выходила:
"Warning: Cannot add header information - headers already sent by (output started at d:\www\setcookies.php:7) in d:\www\setcookies.php on line 14"
Я в php.ini поставил "output_buffering = On" теперь ошибок нет, но и cookie не создается.
Кроме того, как, если они будут создаваться, их читать? Суть: счётчик. Надо повторные посещения проверять (по ip умею - хочется точнее по cookies) всё стандартно: проверяем пользователя,
если он не был на сайте - посылаем ему cookie с параметрами (основной - это время последнего
обращения) если уже был, то читаем cookie и проверяем в какое время он заходил на сайт Спасибо.
Дима.
ответить - Я пишу информацию в файл. Что
произойдет если в файлу обратятся несколько
человек сразу? Неужели всё перепутается? Как
этого избежать
ответить - Я прочитал статью по адресу http://detail.phpclub.net/technique/01-01-16/print
.Там написано: “… файле .htaccess пишутся строчки,
например ErrorDocument 404 all.php ErrorDocument 403 all.php ErrorDocument 401
all.php …”. Я никак не могу понять, где взять файл
.htaccess? Создавать самим или он должен находится на
хостинге? Если создавать самим, то я не могу
создать файл без имени, если на хостинге, где его
искать? Может быть я что-то не так понял? Помогите
пожалуйста.
ответить - Нужен скрипт, что бы
организовать собственную рассылку.
ответить - Подскажите, пожалуйста, как
сделать проверку адреса e-mail на корректность (у
меня на JavaScript не получается, а как это сделать на
PHP, я не знаю)
ответить - Можете ли Вы обяснить как
пользоваться MySql? В интернете документации много,
но вот самые первые шаги в моем случае нигде не
описаны. Везде написано только с учетом того, что
должен стоять на компьютере windows nt (2000) и сервером
(IIS). У меня стоит apache. Что нужно для MySql?
С уважением, Виталий
ответить - Пожалуйста, подскажите! Где
можно лучше всего почитать и понять механизмы
работы session в PHP4 в полном объеме. Честно говоря
документацию я проработал, но работать с ними так
и не научился из-за отсутствия опыта в этих делах.
Хотелось бы видеть примеры использования в
системах аутентификации пользователей с
использованием cookies и без них, а также механизм
шифрования пароля и данных при передаче от
пользователя к серверу. И еще правильно ли
заявление, что session является наиболее
эффективным механизмом (я не имею ввиду
маленькие проекты типа домашних страничек, а
более серьезные разработки). Спасибо. АМ.
ответить - Просьба не посылать читать FAQ
(или подскажите где взять по емейлу), как поднять
Apache под Мандрейковский Linux 7.2 (возможно я
неправильно выбрал инсталяцию - рабочая станция,
а не сервер)
ответить - Я сделал посылку так:
mail(trim($mails[$i]), $subject, $text, "Content-type: text/plain; charset=koi8-r\nFrom:
czar_admin@mtu-net.ru\nReply-To: czar_admin@mtu-net.ru\n\n");
Здесь: берется адрес отсыльщика из файла, потому стоит на всякий случай трим.
Потом идет текст. потом контенты и фромы с реплеями. в книге написано было, что лучше контент писать в начале и в конце головы сообщения. результат: приходит письмо (текст перекодирован в кои8-р). в нем. в адресе "от кого" приходит не мой мейл, а мейл хоста. в теме пусто.
Текст приходит в кодировке , не определяемой БАТом и Оутлуком. Приходится перекодировать в кои8-р и все читается. Но это мне не нравится. То есть контент - не работает. И контент, и фром, и реплайТо приходят в теле письма. Почему так?
ответить - Просьба не посылать читать FAQ
(или подскажите где взять по емейлу),
как поднять Apache под Мандрейковский Linux 7.2
ответить
Ответы на заданные вопросы:
- Где можно найти электронные
книги по PHP???
Ответ:
Если Вы житель Беларуси - самый лучший вариант заказать в электронном магазине. Оплата или по почте или через сберкассу. Остальным точно не знаю, но сходите по ссылке, и там все узнаете.
заказать
- В рассылке я читал что если php
подключен как модуль к apache то он работает
быстрее. Вопрос: Где можно скачать этот модуль
для win32? И как его встроить в apache? Заранее
благодарю
Ответ:
Модуль идет в релизе PHP под win32 библиотека называется php4apache.dll и лежит в папке sapi.
Чтобы запустить PHP как мод апача пропиши строчку
LoadModule php4_module f:/usr/local/php/sapi/php4apache.dll
в httpd.conf, скопируй эту библиотеку в ./apache/modules и запускай сервер. подцеписаь библиоткеа или нет ты сможешь узнать из надписи в окен DOS при запуске Apache. С подцепленным PHP это выглядит след. образом :
Apache/1.3.19 (Win32) PHP/4.0.4pl1 running...
См. www.php.net скачивается дистрибутив в виде zip архива. Там есть инструкции по установке (файл INSTALL) - как раз в виде модуля. Павел, pavel@imail.dc.ukrtel.netхм...на http://www.php.net качаешь последнюю версию php, только полной комплекции (это около 4-5 мег), а не урезанную (700Кб), там есть модуль расширения. Встраиваем след. образом:
1.в файле настройках apache
(apache/conf/httpd.conf) добавляем строчки:
LoadModule php4_module c:/usr/local/php4/sapi/php4apache.dll
AddType application/x-httpd-php .php4 .php3 .php
2.копируем файлы из дистрибутива:
php.ini-distr переименовывай в php.ini и копируй в c:\windows\ туда же (с:\windows\) копируй файл php4ts.dll вроде бы и все... MaximatoR (maximator_@rambler.ru) http://www.fwmaster.f2s.comПропиши в Апаче:
LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php4
Перезапусти Апач. Должно работать. Прверено на PHP.4.01/pl1. если чего не понятно - могу выслать вариант настройки php.ini и httpd.conf. l0g_err@xakep.ruПривет! Зайди на www.php.net - и качай себе, там же и документацию найдешь.
- Как в php подключить библиотеки
для работы с изображениями и флеш?
Ответ:
в файле php.ini (c:\windows\) ищи строчки:
extension_dir = ./
её нужно заменить на тот путь, где у тебя находятся расширения, у меня в папке c:\usr\local\php4\extensions\ значит пишешь:
extension_dir = c:\usr\local\php4\extensions\
далее, если ты хочешь GD и SWF библиотеку, то у тебя в этой папке должны быть файлы: php_gd.dll и php_swf.dll если нет последнего, то ищи его здесь http://reality.sgi.com/grafica/flash/
Опять же в файле php.ini ищешь строчки:
; Dynamic Extensions ;
и т.д. далее перечислены модули, которые нужно загружать... убирай комментарии перед ними и все. MaximatoR ( maximator_@rambler.ru )В каталоге C:\windows, C:\winnt, короче, там, где у Вас сидит Win32 есть файл php.ini. Там есть куча строчек extension = .... Раскомментарьте extension=php_gd.dll, укажите правильный extensions_dir в этом же файле, чуть выше и перезапустите HTTP сервер.Павел, pavel@imail.dc.ukrtel.net
- У меня Apache под Win, как можно
добавить FTP опции ?
Ответ:
Если Вы имеете в виду обеспечение возможности закачивания HTML-страничек, картинок и пр. на сервер через FTP, то сам по себе Apache таких услуг не предоставляет :-(. Ставьте автономное приложение FTP сервера (например, FTP-Serv-U) и закачивайте на здоровье. Павел, pavel@imail.dc.ukrtel.net
- Скажите, пожалуйста, добавляет
ли www.f2s.com баннер.
Ответ:
Спасибо всем, кто ответил. Правильный ответ - НЕТ, но новых пользователей пока не регистрируют.
- почему у меня при использовании
команды $counter=fgets($fp,10); - считывание идет до
ближайшего перевода каретки, дальше нет. -
filesize($filename) дает одно значение, а считать возможно
только меньше Спасибо, Илья mis421@chat.ru
Ответ:
Если задать $counter = fgets($fp, 1); - будет читать вообще по одному символу. Нужную длину - и проблем не будет, надеюсь. Если же хочешь именно по 10 байт, тогда делай так:
$fp = fopen ("/path/to/file.ext", "r");
while (!feof ($fp)) { $buffer = fgets($fp, 10); echo $buffer; }
fclose ($fp);
С уважением, Аедрей eav@hotmail.ru
- Есть вопрос по поводу
организации поиска на РНР. Значит так. Мне
достался сайт на корректировку. Есть список
авторов, есть их статьи, у одного одна, у другого
несколько. Весь настоящий вариант исполнен в
виде: поисковая форма в ней необходимо вводить
точные фамилии, а по ним открывается заведомо
готовый файл, представляете какой бардак. Как
индексировать, как добавлять и т.д. атас.
Подскажите как реализовать лучше всего, в базу не
впихнуть так как статьи некоторые очень
громоздкие. может лучше через обычные
текст-файлы, но как осущ. поиск. Подскажите.С
уважением Андрей.
Ответ:
Привет! Попробуй поискать на cgi.ru и т.д. готовые варианты... А если каждая статья находиться в отдельном файле, попробуй в начале добовлять что-то, типа "~~#~~ Автор ~~#~~". Потом во всех файлах каталога искать эту строчку и выводить результат на экран.Значит делаешь статьи в виде обыкновенных HTML-файлов и добавляешь такие META-теги
<META author="фамилия"> а поиск делаешь так: читаешь файл, проверяешь его МЕТА-тег если фамилия совпадает то выводишь ссылку на статью.Наверное лучше будет добавить еще и
<META title="название"><META description="описание"> так как тебе скорее всего прийдется выводить список статей искомого автора и с этимим тенами будет легче искать Этот алгоритм я прочитал на http://www.softm.vov.ru Только там они проверяют мета-теги через регулярные выражения, а вообще-то есть специальная команда get_meta_tegs(filename), которая возвращает ассоциативный массив мета-теговНу я представляю наилучший вариант так:
в базе хранишь не сами статьи, а только пути к текстовым файлам. поиск по текстовым примерно так:
$string='....' ; строка для поиска
$q->query("SELECT * FROM entries");
while(next_record()) {
$q->f('text_file');
$text=file($q);
$rating=0;
while (list ($m, $line) = each ($text)) {
$rating=$rating+substr_count($text,$string);
}
вот тут у тебя хранится в $rating число встреченных $string во всем тексте, далее их можешь записывать в массив с именем файла, потом отсортировать и выдашь на экран результат поиска...
}
Это только набросок, на самом деле-то там такая каша получается...если что пиши, поможем. MaximatoR (maximator_@rambler.ru) http://www.fwmaster.f2s.comА ты попробуй впихнуть в базу не статьи, а ссылки на них. Так нельзя сделать?
- На одном хосте мне дали доступ к
MySql то есть дали пароль и остальные параметры. Как
я понимаю веб интерфейса там нет и отсюда вопрос
куда мне вводить все эти примочки для того чтобы
создать
базу данных, таблицу и всякие строчки. Если можно ответьте пожалуста по подробнее!
Ответ:
Привет! Есть такой скриптик "MyPHPAdmin" - он все это качаственно умеет делать, жаль ссылку не нашел, но ты попробуй поискать где-нибудь на cgi.ru...Отпиши мне на мыло - пришлю тебе русский вариант phpMyAdmin с пояснениями по установке и настройке. l0g_err@xakep.ru
скачай сам PhpMyAdmin и будет у тебя веб оболочка... MaximatoR (maximator_@rambler.ru)
- Как из изображения, загружаемого
пользователем через форму, сгенерить маленькие
превьюшки?
Спасибо! С уважением, АннаОтвет:
Как вариант, воспользуйся функцией GetImageSize(<путь к картинке>,<массив параметров>).
Элемент 0 массива содержит значение ширины картинки в пикселях, Элемент 1 - высоту.
Для создания тумба просто подели эти значения на одно и тоже число и не забудь округлить.
:
<?
...
...
$pic_size = GetImageSize("pic/picture.jpg");
...
...
$scale_factor = <Необходимое число>;
$small_w = round($pic_size[0]/$scale_factor);
$small_h = round($pic_size[1]/$scale_factor);
...
...
?>
...
<img src="pic/picture.jpg" width="<?echo"
$small_w";?> height="<?echo"$small_h";?>>, где
...
...Здравствуйте, Анна! В php есть библиотека работы с изображениями (см. Image functions в фирменной доке). Почитайте их, может чего и найдете... Не забудьте подключить ее в php.ini - extension=php_gd.dll, иначе будут сплошные ошибки. Павел, pavel@imail.dc.ukrtel.net
Анна, попробую на примере это объяснить, но это достаточно длинный код, тут только обрывки...
$im=@ImageCreateFromJPEG($file); для примера
$sx = ImageSx ($im);
$sy = ImageSy ($im);
nsx=sx/5;
nsy=sy/5; картинка в 5 раз меньше...
$imn = ImageCreate (nsx, nsy);
$imn = ImageCopyResized (imn, im, 0, 0, 0, 0, nsx, nsy, sx, sy)
ImageJPEG($imn);
Вроде бы все, это только набросок, это не код, так то еще нужно сделать множество проверок, типы файла там, размеры максимальные, загрузка файла и запись тумблашки... это же все зависит только от того для чего это делается ? Если что пиши. MaximatoR (maximator_@rambler.ru) http://www.fwmaster.f2s.com
- У меня PHP 4.0.3pl1, бинарники под win32
(брал на php.net), WinNT и apache. Подключил библиотеку
php_gd.dll (для работы с GIF); при вызове любой функции
этой библиотеки выдается сообщение
"<functionName>: No GIF support in this PHP build", где <functionName> - имя вызываемой функции. Неужели PHP под win32 не умеет работать с GIF? Тогда зачем же включать в бинарники эту библиотеку?
Ответ:
Скорее всего дело в версии GD. Вот что известно мне (из описания версии 1.33): NOTE: This version produces PNG and JPEG format, not GIF format. The last version to produce GIF was version 1.19.
Если я не прав - опровергните, возьму на вооружение. С уважением, Андрей ( http://www.eav.vov.ru )
Так как они вырезали поддержку GIF из последних версии, зато там есть PNG, JPEG, SWF, WBMP... MaximatoR (maximator_@rambler.ru)
- В выпуске 7 вы сказали, что в PHP
есть функция виртуал - аналог апачевских "include
virtual". Если не трудно, опишите точно ее,
поскольку второй совет по указанию в served-parced
типов файлов PHP ни к чему не приводит (точнее
приводит к полному отказу загрузки страниц - их
предлагает сохранить на диск).Заранее благодарен
Василий Ясный.
Ответ:
Люди, читайте мануалы, там все написано (правда по английиски) Итак функция следующая
int virtual (string filename) На практике я ее не использовал поэтому могу рассказать только то что вычитал из мануала virtual() - эквивалент <!--#include virtual...--> используется для вставки CGI-скриптов, или .shtml файлов или чего хотите пропустить через Apache Что касается CGI-скриптов то они должны правильно генерировать заголовок (header) Насколько я понял работает это все если ваш PHP работате как модуль Apache В мануале это файл function.virtual.html
Собственно, вот перевод из php-manual: >Virtual() - фнкция сервера Apache, эквивалентная ...include virtual в >рамках модуля mod_include. Дальше не буду переводить, но смысл, скорее всего именно в твоем Apache (он вообще правильно .shtml файлы и скрипты PHP понимает?). Проверь httpd.conf - все что внутри блока Document root: Options Indexes Includes FollowSymLinks MultiViews (или в этом роде).
И, разумеется, тип .shtml должен быть явно описан как server-parsed. Удачи, Андрей (http://www.eav.vov.ru )
вот они include(), require(), require_once(), include_once(), readfile(), и virtual(). описание найдешь в помоши... MaixmatoR (maximator_@rambler.ru)
- WIN98+APACHE.1.3.6.+PERL+MYSQL+PHP4
Не работает функция crypt()
Warning: crypt() is not supported in this PHP build in d:\usr\local\www\shop\admin\index.php on line 36
Как установить эту функцию?
Ответ:
В таком наборе софта crypt() действует только в версиях PHP до 4.0b3 включительно. Выше - только под _NIX-ами. (Это - мой небогатый опыт). Если кто-то сумел-таки прикрутить соответственную dll-шку под более свежие версии PHP - пусть поделятся. Удачи, Андрей ( eav@hotmail.ru )
Обмен ссылками и баннерами
Предлагаю Вам стать участниками баннерообмена. Ваши ссылки и описания Ваших сайтов вы можете присылать по адресу рассылки - virtualphp@tut.by Все ссылки обязательно появятся в этой рассылке. Если есть желание разместить свой баннер 88*31 на сайте рассылки http://virtual.bresttelecom.by/php/ , укажите это дополнительно, и пришлите код своего баннера. В любом случае, Вам надо будет разместить у себя код баннера сайта рассылки, и только на главной страничке Вашего сайта. Или - на нескольких других.
Предлагаю Вашему вниманию работы дизайнеров, приславших свои работы в качестве баннеров для сайта РНР для всех! Номер в списке соответствует номеру в имени баннера - php1, php2 и т.д. Так что Вы можете оценить их работы и при желании воспользоваться их услугами.
http://tweak.tut.by - Оптимизация и настройка компьютера. Если Вас интересуют различные аспекты настройки Вашего мегагерцевого друга, Вам надо посетить сайт посвященный настройке и оптимизации. Кроме того - список последних версий популярных программ и свежие новости, а так же чат, форум и многое другое!
http://www.webclub.lv - Латвийский Клуб Веб-мастеров Наш сайт предназначен для всех кто творит и хочет творить Интернет. Мы предлагаем информацию, помощь и примеры по дизайну. Довольно обширная коллекция скриптов. Статьи, учебники и многое другое.
Правила у меня стандартные - описания Ваших сайтов будут периодически (в зависимости от их количества) размещаться в рассылке. И конечно - будет отдельная страничка на сайте, на которой будут представлены все друзья сайта.
http://virtual.bresttelecom.by - Виртуальный Брест. Региональный информационно - развлекательный портал города Бреста. Чат, форум, статьи, услуги, объявления, недвижимость, каталог сайтов - это и многое другое ждет Вас на страницах сайта.
http://tweak.tut.by - http://tweak.bresttelecom.by - Оптимизация и настройка компьютера. Если Вас интересуют различные аспекты настройки Вашего мегагерцевого друга, Вам надо посетить сайт посвященный настройке и оптимизации. Кроме того - список последних версий популярных программ и свежие новости, а так же чат, форум и многое другое!
http://saleha.al.ru/anecdot/index.phtml - самые новые и смешные анекдоты.
http://klepan.narod.ru - Халява pliz! - реферал клуб.
http://www.ohrana.nsk.su - Название: Управления вневедомственной охраны г.Новосибирска. Описание: Услуги по охране квартири других объектов, сопровождение грузов. На сайте: интересные статьи, новости, криминальная хроника, вакансии и другая полезная информация!
http://www.programing.narod.ru - программирование на РНР
http://icebreaker.dax.ru - самый информативный сайт об ударных инструментах, здесь находится огромное количество полезной информации для ударника:фотографии,статьи,табулатуры,самоучители,ссылки и много чего ещё!
http://webd.hut.ru - AGS Design. Сайт для вебмастера. 1500+ изображений фонов, иконки и кнопки, отличная графика, скрипты, очень понятная документация по различным языкам программирования, изучение Фотошоп
от А до Я, и мн. др.
www.nokstr.dax.ru - Программы, статьи и примеры по Visual Basic, C++, Халява.
http://www.ancient.dax.ru - Ancient - Каталог Веб-Мастера. Бесплатные скрипты CGI, PHP, JAVA
Подпишитесь на рассылки!
|
Разное
Обращаю Ваше внимание, что правильный адрес рассылки - virtualphp@tut.by. Сайт рассылки доступен по адресу http://virtual.bresttelecom.by/php/
Если Вы можете помочь сделать баннер для сайта, буду Вам очень признателен. С графикой я не очень дружу, но думаю, что смогу быть полезен и Вам. Жду предложений. Нужен баннер 88*31, лучше анимированный, по теме РНР, вопросы, ответы, статьи и т.д. Все, приславшие свои предложения, будут рекламироваться в рассылке. Первые работы уже есть.
автор рассылки Андрей Кухарчик
http://subscribe.ru/
E-mail: ask@subscribe.ru | Отписаться | Рейтингуется SpyLog |
В избранное | ||