Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программируем на PHP - вопросы и ответы.


Служба Рассылок Subscribe.Ru

Рассылка сайта РНР для всех!

Выпуск номер 30

Здравствуйте

Вы получили этот выпуск рассылки, так как являетесь подписчиком рассылок сайта http://subscribe.ru Рассылка выходит еженедельно, и предлагает Вам авторские материалы на тему программирования на скриптовом языке гипертекстового препроцессора РНР. Кроме того - есть система вопросов и ответов, обмен ссылками и баннерами, раздел Ваши письма и многое другое.

заказать книги по РНР (только Беларусь)

Вам доступен форум рассылки по адресу:
www.adelavida.com.ua/MenuRelative/Forums.php?PrimIndexSelected=Scripts&
ForumSelected=PHP%26MySQL&Submit=Ok&Preference=ShowAll&StartVsQuest=Yes

Уважаемые подписчики, приношу Вам тысячи извинений, что предыдущие три выпуска были так малоинформативны. Бывают периоды в жизни, когда ну буквально заваливают со всех сторон, и уделить минутку просто некогда. Надеюсь, что один из таких периодов у меня позади... Эта статья - специально для Вас, и в газеты она не пойдет. Как маленькая компенсация... Обратите, пожалуйста внимание на письмо моего читателя перед разделом ВОПРОС-ОТВЕТ.

Подсчет переходов по ссылкам

Сия тема обширна и весьма любопытна. Но мы остановимся на чем то попроще. Уже давно меня просят сделать обзор подобного рада скрипта, и сегодня, наконец, у меня дошли руки. Давайте обрисуем себе ситуацию более четко.

Итак, есть сайт. Есть и поддержка РНР, есть желание применить эту поддержку на деле. И есть проблема. Она заключается в том, что нужно узнать, сколько раз нажимают на тот или иной баннер или ссылку (это не существенно). Как частный случай - выбор пункта меню. Ведь, если помните, так тоже можно сделать переход по ссылке. Вот и займемся этим поближе.

По правде говоря, ничего сложного тут нет (когда же мы дойдем то до сложного...). Это - самый обычный счетчик, только немного модифицированный. Начнем мы как всегда... Нет, на этот раз - не как всегда. Мы сделаем себе ссылку для начала. Вот она: http://virtual.bresttelecom.by/php/ . Кто следит за рассылкой, знает, что это - ссылка сайта рассылки. Пусть будет и еще одна: http://price.bresttelecom.by/success А это уже для коллекции, что бы не учиться на одной ссылке, а на нескольких. Вторая ссылка - это один интересный сайт одной неплохой фирмы в моем городе. Кто очень интересуется, как грабить информацию с екселевского файла, можете посмотреть, как это там сделано (каюсь, уж очень хочется похвастаться - моя работа). Но это к слову. Теперь о деле.

А дело в том, что все эти ссылки мы должны подменить на одну свою. К примеру, у Вас есть сайт http://homo.name.ru (нет такого сайта, не щелкайте и не ищите, это я придумал). Сайт расположен на сервере, поддерживающем процессор РНР. Тогда Вы, например, можете подменить указанные выше ссылки на такие: http://homo.name.ru/reg.phtml?id=1 и http://homo.name.ru/reg.phtml?id=2 Уловили суть? Вы направляете посетителя не сразу на выбранные им ресурсы, а сначала к себе на специальную страничку, на которой можно проанализировав переменную $id узнать, куда именно решил уйти Ваш посетитель, подсчитать этот переход в специальной базе данных, и под конец - без вопросов перенаправить этого непутевого посетителя на тот ресурс, который он выбрал. Обратите внимание, что ни в коем случае нельзя выводить ничего на экран, иначе переход не состоится. Хотя... Тут тоже можно извлечь выгоду. Прежде чем перенаправить посетителя, можно опросить запрошенный URL, и если он не отвечает, вывести предупреждение. Мелочь, а приятно. Только плохо работает на некачественных линиях связи, ведь нужно будет устанавливать еще одну связь, а это время, время...

Так, опять куда-то ушли. Приступим к делу.

<?
$u[0] = "http://homo.name.ru";
$u[1] = "http://virtual.bresttelecom.by/php/";
$u[2] = "http://price.bresttelecom.by/success/";

В этом кусочке кода мы определяемся с адресами, куда будут происходить перенаправления. Тестовые адреса у нас уже есть, вот их и будем использовать. Спрашиваете, зачем я включил сюда первый адрес, ведь это адрес Вашего (ну, представим...) сайта? Очень просто - а вдруг Вы ошибетесь c переменной $id (со значением этой переменной), и тогда Ваш скрипт переправит посетителя (вот тот удивится!) на главную страничку Вашего сайта. А можно и не на главную, достаточно прописать ее адрес, и вот туда посетитель и попадет.

$add = "log.txt";
$sl = file($add);

Ну, это уже просто. В массив считывается содержимое базы данных со статистикой переходов.

if ($id < 1 or $id >= count ($u)) { $id = 0; }

А вот тут проверяется содержимое переменной $id на ошибку, и если она присутствует, то присваиваем ей (переменной) ноль.

$url = $u[$id];
$temp = trim(str_replace ("\n","", $sl[$id]));
if ($temp == "") { $temp = 0; }
$temp++;
$sl[$i] = $temp."\n";

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

$sav = implode($sl, "");

Сращиваем весь массив в одну переменную...

$fp = @fopen($add, "w+");
if ($fp) { $fw = fwrite($fp, $sav); fclose($fp); }

И записываем в наш файл. Кстати, не забудьте его создать, а то первый раз скрипт выдаст ошибку. И про права, разрешающие запись, не забудьте, если только Вы не под виндами - там можно.

header ("Location: ".$url);
?>

Все, осталось только перейти по считанному адресу. Наш скрипт, кстати, умеет сам заполнять пустые поля. То есть, файл со статистикой не нужно заполнять нулями, он будет заполняться сам. Написать скрипт показа статистики Вы уже сможете сами. Как!!! Нет!? Ну, тогда Вам придется почитать предыдущие выпуски рассылки, или... Заглянуть в файл со статистикой.

Вот и все - теперь у Вас есть возможность самостоятельно убедиться, куда пропали Ваши посетители... И убрать эту вредную ссылку. Шутка... Успехов!

Кухарчик Андрей @ октябрь 2001
http://virtual.bresttelecom.by/php/
virtualphp@tut.by


Сайты в тему

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

  • http://www.php.net/ - официальный сайт РНР. Масса информации, но только для тех, кто дружит с английским.
  • http://www.php-encoder.f2s.com - защита РНР скриптов UPDATED.
  • 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://firststeps.narod.ru/html/php/php.html
  • http://detail.phpclub.net/
  • http://phpclub.unet.ru
  • http://open.appideas.com/   сборник скриптов
  • http://programmingpub.com/scripts.html   скрипты на perl,php,python,tcl
  • http://px.sklar.com   php сборник скриптов
  • http://phplib.netuse.de   Здесь можно найти самую матёрую библиотеку на php(не отдельные скрипты, а цельное пособие по разработке), только не спешите подписываться на рассылки (авторы думают что все в мире должны знать немецкий
  • http://php.resourceindex.com/   коллекция скриптов
  • http://phpwizard.net   Tobias Ratschiller ничего не говорит?
  • http://www.umnik.f2s.com/ содержит информацию для вебмастера (по всем актуальным языкам веб-программирования), установка домашнего сервера Apache (разных версий)+MySQL+PHP+Perl. Также можно подписаться на рассылки
    "Вопросы и ответы по ОС" и "Будь достойным вебмастера". Имеются множество советов по компьютеру...
  • www.phpbuilder.com Здесь есть все! Форум, статьи, мануал, скрипты, да и вообще очень много профессионалов, тусующихся на сайте.
  • http://phpclasses.upperdesign.com/ Там находится масса классов на php, имеется рассылка на английском
    языке, регистрация бесплатная.
  • http://www.sourceforge.com - Вот IMHO очень полезный сайт. И не только для PHP-программистов, но и для всех остальных. Там десятки тысяч готовых примеров.

Где можно посмотреть

А и правда. РНР, да РНР! А где посмотреть как все это работает и оценить, стоит или нет заниматься этим... Правильное решение будет таким. Посетите сайты, указанные ниже, и посмотрите как они работают. Кстати, если хотите продемонстрировать всем свой проект или то, чего Вы достигли изучая РНР, присылайте ссылку и описание, и все это будет размещено здесь. Только не забудьте поставить у себя наш баннер, можно и не на главной, но буду не против :-) Ссылки на сайты будут вращаться по кругу по мере поступления.

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, фотографии, гостевая, тексты, дневник.
http://softm.vov.ru - программы для бизнеса - это простые решения сложных задач
http://rec.gov.by - Сайт Центральной Комисси Республики Беларусь по выборам и проведению республиканских референдумов.
http://www.zgoda.f2s.com сайт белорусской опозиционной газеты "ЗГОДА" полностью сделан на php:"движок", гостевая, счетчик, голосование, обновление, а так же еще пару других мелких, но полезных фишек.
http://rec.gov.by - Сайт Центральной Комисси Республики Беларусь по выборам AK> и проведению республиканских референдумов.
www.saratoff.ru
- "Саратовские народные новости". Новости политики, экономики, культуры, спорта и общественной жизни Саратовской области. Посетители сайта сами могут публиковать собственные новости на сайте. Удобная система администрированная, реализованная на принципиально новой технологии алгоритмизации, с использованием всех возможностей PHP и MySQL позволяет авторизованным пользователям самим создавать и администрировать новые разделы на портале.
www.ecsot.narod.ru  Это сайт ПП "Эксот", которое специализируется на изготовлении сепараторов для очистки сжатого воздуха от масла и влаги.
http://americansingles.to - знакомства, магазин. Много интересного, и вс ена РНР.
http://www.uvd.tula.ru - сайт УВД Тульской области.
http://www.andrey.nnov.ru "Сайт Андрея Зайчикова" - Поможет начинающим программистам стать профессионалами. Алгоритмы, статьи, книги, faq и многое другое.
www.puhlik.f2s.com - Система позволяет провести опрос (голосование) любой целевой аудитории (посетители сайта, участники форума и т.д.). Полностью написана на PHP4 с использование MySQL.


Почта рассылки

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

Вы хотите создать страницу в Сети, но не хотите использовать различные готовые шаблоны или же уже много умеете, но вам надоели гостевые книги и конференции от других сайтов. Вы изучаете язык, на котором хотите программировать в Интернет, но у вас появляются различные вопросы. Для всего этого и нужна группа SoobCha_Inet_prog. В ней рассматриваются вопросы по языкам разметки страниц: HTML и XML, вопросы по написанию скриптов для ваших страниц: Java Script и VB Script, язык динамического создания страниц: SSI, языки программирования для вашей Cgi-bin: Perl и ASP, а также работа с серверами Apache и IIS. Обо всем — от баннера до своего скрипта на Perl — вы сможете узнать здесь, в этой группе. Подписка — пустое сообщение на адрес soobcha_inet_prog-subscribe@yahoogroups.com

У Вас замечательная рассылка! Искал описания РНР в Инете, но находил жалкое подобие, а у Вас действительно самая информативная рассылка. Я недавно сделал свой сайт и прошу разместить Вас ссылку:
http://mongol.hut.ru - Сайт посвящен изучению монгольского языка. У нас вы найдете: уроки, граматический материал, часто употребляемые выражения, словарь, интересные статьи о Монголии и фотогалерея.

Обратите внимание: Поступило предложение...
Собственно, он касается меня, но без Вашего участия тут не обойдешься никак. Итак, для начала, само письмо (орфография и стиль авторские):

Привет, Андрей! С большим удовольствием читаю твои статьи и новые выпуски рассылки. Особенно мне нравились ее первые номера, где ты подробно и обстоятельно объяснял нам (я имею в виду начинающих) про РНР. Только в последнее время я стал замечать, что выпуски перестали быть такими же полезными и информативными. И главное - понятными.! Конечно - понять тебя можно, ведь рассылка выходит на чисто добровольных началах. Но пойми и нас, начинающих, у нас тоже есть огромное желание научиться программировать, а сделать это (учиться) не у кого. Книжки это хорошо, но вот к сожалению там не на всякий вопрос найдется ответ. А вопросов очень много. Так что выслушай мое предложение.
Рассылка это хорошо, но лучше бы тебе открыть виртуальный центр обучения для начинающих. Ведь самое трудное - это начать, а дальше уже пойдет и по книжкам и по статьям. Вот для таких начинающих (как я например) и нужен такой центр. Честно говоря, может быть уже и есть такие, но я их не нашел. По моей мысли обучаться в центре должны заинтересованные люди, те кому это надо, обучение должно быть платным (жить то надо!), но не очень дорогим, а даже наоборот - дешевым, что бы народ не отпугнуть. Конечно, все должно быть персонализировано - тоесть с каждым клиентом ты должен работать отдельно, отвечать на его вопросы, давать уроки и т.д. И все это должно работать только по электронной почте, так как не у всех есть возможность выходить в Интернет. Таким людям можно искать статьи и материалы в качестве бонуса, и слать на ящик.
Извини, если немного непонятно, но надеюсь, ты идею уловил. Теперь о самом главном - ценах. Мне кажется, многие согласятся платить по 1 доллару за урок. Это очень не много, но и не мало, учитывая количество возможных желающих (мне как первому скидка :-). Первый урок можно сделать бесплатным. Впрочем, решать тебе, ты и думай. Я идею кинул. Может быть, сделай опрос в рассылке - мол, нужно нам это или нет? Все, на этом заканчиваю свое сбивчивое послание, надеюсь на ответ.
Сергей.


Вот такое письмо. Надо сказать, идея, изложенная в нем заинтересовала меня. В принципе - платное обучение через Интернет уже существует давно. Мне тоже так и не удалось найти предложений по платному обучению РНР. Собственно, почему только РНР, и HTML туда же. Так вот что я тут решил. Я прислушаюсь к совету Сергея, и предложу Вам небольшой опрос. От Вашей активности и будет зависеть быть или не быть.
Итак, идея такова: платное обучение через электронную почту языкам гипертекстовой разметки HTML и РНР. Первый урок бесплатный (пробный). Дальше - из расчета 5$ за месяц. В пакет будут включены 4 урока и система вопрос-ответ. Все будет рассчитано только на начинающих, так что просьба специалистам не беспокоиться. Уроки будут персональными с проверкой результатов знаний и закреплением пройденного материала примерами. Я еще что-нибудь придумаю хорошее, если это все пойдет. Как будет происходить расчет тоже можно придумать. Пока кроме Webmoney ничего в голову не приходит. Возможно - почтовый перевод. Это тоже все решится. На любом этапе можно будет прекратить обучение, так что обучаемый волен выбирать время своего обучения. Ну, вот пока и все.
Теперь - что надо сделать. Если Вы поддерживаете данную систему обучения, Вам надо нажать на ссылку ПОДДЕРЖИВАЮ, если нет - соответственно НЕ ПОДДЕРЖИВАЮ. Это маленький интерактивный опрос мнения. При нажатии на ссылки Ваша почтовая программа откроет свое окно, в которое Вы можете внести свои пожелания или комментарии. Только тему письма не трогайте, по ней я буду Вас считать :-)) Дальше, когда Вы написали свой комментарий (а можно и не писать), жмите кнопку доставить, и письмо уйдет ко мне, а я его засчитаю за один голос. Делаю опрос по почте, что бы Вам легче было на него ответить, ведь многие не могут выходить в Интернет когда хотят, а почту отправить можно и не сразу, а вместе (отложенная доставка). Итак, опрос:

Да, ПОДДЕРЖИВАЮ                                        Нет, НЕ ПОДДЕРЖИВАЮ


Вопросы и ответы
задать вопрос

Предлагаю Вам присылать свои вопросы на адрес рассылки. Вопрос должен быть кратким, точным и по теме. Ответы на вопросы по мере знаний будут даваться мной, а если я не смогу дать Вам исчерпывающий ответ - кто-то из подписчиков обязательно поможет. А если Вы знаете ответ на заданный вопрос - не поленитесь ответить. Этим Вы очень поможете кому-то решить свою проблему. Синтаксис и грамматика - авторские.

Внимание! - вопросы, на которые никто не ответил не будут переноситься в следующий выпуск. Если вы так и не нашли ответ, попробуйте поточнее сформулировать свою проблему и изложить ее еще раз. Если Вы хотите, что бы авторство ответа указывалось в самом ответе, указывайте ссылку на себя в тексте ответа, тогда она пойдет в рассылку.

задать вопрос

Вопросы: 

  1. Имеем грабилку Яндекса
    <?php
    // начало
    $link = "http://www.yandex.ru/yandsearch?text=$text";
    $file = @fopen($link, "r");
    if ($file) {
    $rf = fread($file, 200000); fclose($file);
    $rf = trim (chop ($rf));
    $s = strpos($rf, "<!-- web search results -->");
    $rf = substr($rf, $s);
    $s = strpos($rf, "<!-- /web search results -->");
    $rf = substr($rf, 0, $s);
    $rf = str_replace ("/yandsearch","http://www.yandex.ru/yandsearch", $rf);
    $rf = str_replace ("/redir","http://www.yandex.ru/redir", $rf);
    $rf = str_replace ("Похожие документы","", $rf);
    $rf = str_replace ("Еще с сервера","", $rf);
    $rf = str_replace ("Показать найденные слова","", $rf);
    $rf = str_replace ("<!-- Text adv. -->","<!-- ", $rf);
    $rf = str_replace ("<!-- /Text adv. -->"," -->", $rf);
    $rf = str_replace ("Переход в категорию","<!-- ", $rf);
    $rf = str_replace ("</b>&nbsp;|&nbsp;"," -->", $rf);
    // 4
    echo $rf;}
    else { echo "<center><font>Извините, поиск не возможен!";}
    ?>
    Локально она работает, т.е все нармально выдает. А вот когда на сервер ее заливаешь она отказывается работать выдает надпись "извените, поиск не возможен". В чем тут может быть проблема? http://veslo.vov.ru
    ответить
  2. Какими средствами я могу воспользоваться и где их взять для того чтобы работая на PHP пользоваться не
    MySQl, а MSSQL.Олег.
    ответить
  3. Здравствуйте, не поможите неного, я уже тихо матюкаюсь. вот такой простой код
    <html><head><title>Example</title>
    </head><body>
    <?php
    // create the image
    $gif = ImageCreate(200,200);
    $bg = ImageColorAllocate($gif,0,0,0);
    $tx = ImageColorAllocate($gif,255,128,128);
    ImageFilledRectangle($gif,0,0,200,200,$bg);
    ImageString($gif,3,70,90,"it works !",$tx);
    // send the image
    header("content-type: image/png");
    ImagePng($gif);
    ?>
    дает на выходе примерно
    ______
    Warning: Cannot add header information -
    headers already sent by (output started at e:\www\php_test1.phtml:6)
    in e:\www\php_test1.phtml on line 15
    PNG  IHDRхх<щPLTEЪмдIhIDATx°cёQ0 Fа(тЮ:8 alюaф%цxЭД 3Х9л 9МФ 2
    йs[Piлpй%uа(ёQ0 Fа(y|°KIENDB
    _____

    я так понимаю хедер добавиться не может. и - матюкаюсь. нигде не описано - словно у всех, кроме меня, хедеры добавляются с ликованием.:-( спасибо, григорий
    ответить
  4. Я заказал у приглашенных программистов разработку базы. Вся работа сделана, я хотел бы   поменять пароль для доступа к базе MySQL. Как мне это сделать?Спасибо
    ответить
  5. Здравствуйте! Имею Apache 1.3.20 и PHP 4.0.5. под Win98 Не знаю так заложено в данной версии Apache или так сконфигурирована инсталляшка , но сервер грузится  автоматически при запуске Windows. Не через автозапуск, а прописывается в реестр. Конечно можно отключить его запуск, но не в этом дело - если я постоянно работаю с ним пусть грузится автоматом, не жалко. Проблема не в этом. Первое время после инсталляции все было нормально: сервер запускался автоматом и я мог тестировать свой сайт в off-лайне. Но потом он начал при запуске требовать Dial-up соединение - т.е. грит давай соединяйся со своим провайдером - будет интернет. Если я соединяюсь с провайдером и у меня появляется активное соединение - то Apache грузится нормально и я могу работать off-line со своим сайтом. Но если я отказываюсь от соединения или соединение было не удачным, то Apache не загружается(или загружается с ошибками) - и работать off-line не возможно. Дальше - больше. Даже если загрузка Apache прошла успешно(с дозвоном, естественно, по-другому он теперь не грузится) и я мог нормально работать, то если я делаю disconnect(обрываю удаленку) - то и Apache отказывается работать, то есть при загрузке моей странички требует дозвон и если выбираешь работу в off-line, то отказывается ее грузить, если опять соединяешься с провайдером - все нормально начинает работать.Что за беда? Вроде не смертельно и работать можно, но как-то неприятно. Помогите, кто знает. Спасибо за внимание, Владимир.
    ответить
  6. Пытаюсь запустить внешнюю программу:<? $g=system(findgrp.exe);?>. А IE выдает: Findgrp: working...... User "*****" belongs to the following local groups on ***: Access Denied. Access Denied. Что длать?
    ответить
  7. Как будет выглядеть PHP4-скрипт, записывающий все переменные отправляемые в него, в файл в формате например,если делаешь: saver.php?name=Петя&family=Петров, то получаешь файл saver.txt, выглядеший: name=Петя?family=Петров.
    ответить
  8. Объясните пожалуйста чем PHP4 отличается от PHP3?
    ответить
  9. Пожалуйста поскажите какие надо сделать установки на MY-SQL сервере и какой надо написать
    техт на PHP чтобы подключить БД в формате CSV. PS: напишите пожалуйста подробней и если
    есть возможность пришлите готовый скрипт С уважением Евгений
    ответить

    Ответы на заданные вопросы:
  1. Что мне нужно вставить на страничку с расширением *.phtml чтоб она смогла мне показать содержание каталога, в котором она находится?

    Ответ:

    Насчёт автоматически, то не знаю, а если путь напишешь, то вот (это из мануала):
    <? $d = dir("$DOCUMENT_ROOT".'/Future');
    echo "Path: ".$d->path."<br>\n";
    while($entry=$d->read()) {
    echo $entry."<br>\n";
    }
    $d->close(); ?>
    В общем, читается всё от корневого каталога плюс каталог Future. Вместо $DOCUMENT_ROOT ты можешь написать c:\Temp В общем, не всё так трудно. Узнавай, какой у тебя реальный, а не
    виртуальный путь к каталогу и просматривай. Да, этот код не различает каталогов и файлов. Всё в одной куче. Best regards, Ал. AL mailto:alka@btsau.kiev.ua

    Да в том же PHP-manual простым английским языком написано:
    функция readdir()...
    Если проблемы с английским, то вот пример оттуда же:
    00 $my_dir = "путь/к/моему/каталогу/";
    01 $handle=opendir($my_dir);
    02 echo "Directory handle: $handle\n";
    03 echo "Files:\n";
    04 while (false!==($file = readdir($handle))) {
    05 if ($file != "." && $file != "..") {
    06 echo "$file\n";
    07 }
    08 }
    09 closedir($handle);
    Уж не знаю как работает с echo в строке 06, но у меня вместо него
    стоит $my_file[$i];$i++; и не жалуюсь.
    Удачи!
    Адрей | http://www.eav.vov.ru | eav@hotmail.ru

    <?php
    $h=opendir('.');
    // echo "Directory handle: $h\n";
    // echo "Files:\n";
    while ($file = readdir($h)) {
    echo "$file ..."; flush();
    if (ereg('\.html$',$file)) {
    $x=implode("",file($file));
    ereg('<!-- Начало заголовка -->(.*)'.
    '<!-- Правая граница -->',$x,$z);
    echo " #####--[ Ok! ]--#####";
    // echo $z[1];
    $f=fopen($file,"w+");
    fputs($f,"<html><head><link rel=stylesheet href=php.css type='text/css'></head>\n\n\n\n$z[1]");
    fclose($f);
    }
    echo "\n";
    }
    closedir($h);
    ?>

    Вставить можно следующее:
    $dirt = opendir(<имя директории>);
    $dirs = 0;
    $filez = 0;
    while($file_handle = readdir($dirt))
    {
    if (is_file($file_handle)):
    $str = 'File&nbsp;'.$file_handle.'<br>';
    $filez++;
    echo$str;
    elseif
    (is_dir($file_handle)AND($file_handle!='.')AND($file_handle!='..')):
    $str = 'Dir&nbsp;'.$file_handle.'<br>';
    $dir_handle[$dirs] = $file_handle;
    $dirs++;
    echo$str;
    endif;
    }
    Если чего непонятно - пиши на l0g_err@xakep.ru

    У меня работает вот такой вариант:
    <html><head><title> каталог PUB </title>
    </head><body>
    <?
    function stripdirz( $fulldir )
    {
    $tempo = explode( "/", $fulldir );
    $res = "";
    for ($i=0; $i<sizeof($tempo) ;$i++ )
    {
    if ($i < sizeof($tempo)-1 )
    {
    if ($tempo[$i]==".")
    {
    continue;
    }
    elseif ($tempo[$i+1]=="..")
    {
    continue;
    }
    else
    {
    $res.=$tempo[$i]."/";
    }}
    else
    {
    $res.=$tempo[$i]."/";
    }}
    $res = substr($res,0,strlen($res)-1);
    if (strlen($res)<1)
    {
    $res = "";
    }
    return $res;
    }
    if (empty($newdir))
    {
    $current_dir = ".";
    $curmov = "Root";
    }
    else
    {
    $current_dir = stripdirz( $newdir );
    $curmov = "<a href='index.php3'>root</a>/";
    $curpath = ".";
    $tmp = explode( "/", $current_dir );
    for ($i=0; $i<sizeof($tmp) ;$i++ )
    {
    $curpath.="/".$tmp[$i];
    $curmov.="<a href='index.php3?newdir=$curpath'>".$tmp[$i]."</a>/";
    }}
    $handle = @opendir($current_dir);
    if (!$handle)
    {
    $current_dir = ".";
    $curmov = "Root";
    $handle = @opendir(".");
    }
    echo "Содержание каталога $curmov : <br>";
    echo "<hr noshade>\n";
    // сначала показываем все каталоги
    while($entry = readdir($handle)) {
    if ($entry!="." && $entry!="index.php3" && $entry!=".."){
    $thisfile = $current_dir . "/" . $entry;
    if (is_dir($thisfile))
    {
    echo "<a href='index.php3?newdir=$current_dir/$entry'>" . $entry .
    "</a><br>\n";
    }}}
    closedir( $handle );
    $handle = opendir($current_dir);
    while($entry = readdir($handle)) {
    if ($entry!="." && $entry!="index.php3"){
    $thisfile = $current_dir . "/" . $entry;
    if (!is_dir($thisfile))
    {
    echo "<li><a href='$current_dir/$entry'>" . $entry . "</a></li><br>\n";
    }}}
    closedir( $handle );
    ?><hr noshade><body></html>


  2. Можно ли средствами PHP передать браузеру уже сформированыый поток байтов от COM-объекта. В ASP это можно сделать функцией BinaryWrite.С уважением.Kirill

    Ответ:

    ответов не было

  3. Вопрос ко всей ПХП-аудитории! Как на PHP сделать счетчик скачиваний определенного файла? И принципиально ли для счетчика по какому протоколу будет скачиваться файл? У меня на хостинге нет ftp-сервера, т.е для скачиваемого файла я даю ссылку типа http://mysite/chego-to.zip Надеюсь на Вашу помощь. Pocherk web-pocherk@mail.ru www.pocherk.ru

    Ответ:

    При такой системе, как у тебя, это сделать будет сложно - только если сервер ведет логи для каждого юзера, что бувает далеко не на всех хостингах. Гораздо разумнее будет использовать скрипт - редиректор. То есть сложить все даунлоадные файлы в каталог, недоступный по http (например если www-директория зовется /home/www, то создаем директорию /home/download, в которую и складываем файлы). Потом на страничку ложим ссылку типа http://mysite/get.php?file=chego-to.zip . А сам скриптец get.php делает приблизительно следующее:
    1) ресолвит подсунутое ему имя chego-to.zip в /home/download/chego-to.zip.
    2) выдает содержимое файла в бинарном режиме.
    3) обновляет счетчик скачиваний.
    Вроде бы все...

  4. Может быть кто-нибудь сталкивался с такой проблемой: если фунции типа fopen передавать не
    локальный путь, а URL типа "www.microsoft.com", то после непродолжительного раздумья выдается сообщение об ошибке Warning: php_hostconnect: connect failed in xxx.php on line yyy. Если же указывать локальный файл,  то все в порядке. ОС Windows NT 4.0, PWS/IIS 4.0, PHP 4.06 (установлен php406-installer.exe c www.php.net), доступ в  интернет через proxy. Настройка PHP allow_url_fopen == 1. Заранее спасибо.

    Ответ:
    Удалось разобраться. Все оказалось достаточно просто. Если web-server для WinNT реализован как
    сервис (например, Apache или IIS/PWS), то он должен осуществлять "вход" в систему под именем
    некоторого установленного в системе пользователя. (IIS для этих целей создает специальный
    account, а Apache использует System accont. ) Соответственно, все запросы к ресурсам изо всех
    вложенных процессов (например, php) осуществляются с параметрами этого account'а, и если
    доступ в интернет разрешен определенным пользователям сети (а не определенным машинам), то
    попытка подключения всех остальных и не проходит. Таким образом, проблема устраняется
    путем указания в настройках сервиса account'а одного из авторизованных пользователей.
    Кстати, отличительной чертой проблемы является то, что если запустить скрипт из командной
    строки под аccount'ом такого пользователя ("php.exe script.php"), то он будет работать.
    PHP, конечно, мог бы и подробнее расшифровать причины, по которым попытка соединения
    не прошла. А так пришлось писать специальный exe-шник и отлаживать все это дело с помощью
    сокетов (кстати, ошибка, возвращаемая сокетами, была 10061 Connection refused).
    P.S.: Большое спасибо iTman ( webmaster@soft.ru ) за ответ.

задать вопрос


Обмен ссылками и баннерами

Предлагаю Вам стать участниками баннерообмена. Ваши ссылки и описания Ваших сайтов вы можете присылать по адресу рассылки - virtualphp@tut.by Все ссылки обязательно появятся в этой рассылке. Если есть желание разместить свой баннер 88*31 на сайте рассылки http://virtual.bresttelecom.by/php/ , укажите это дополнительно, и пришлите код своего баннера. В любом случае, Вам надо будет разместить у себя код баннера сайта рассылки, и только на главной страничке Вашего сайта.

Взять код моего баннера (на выбор) можно по адресу: http://virtual.bresttelecom.by/php/index.phtml?php/banner.html или воспользоваться этим:

<a href="http://virtual.bresttelecom.by/php/"><IMG SRC="http://virtual.bresttelecom.by/baner/8831.phtml"
alt="Виртуальный Брест" width="88" height="31" border="0"></a>

Наши друзья

Правила у меня стандартные - описания Ваших сайтов будут периодически (в зависимости от их количества) размещаться в рассылке. И конечно - будет отдельная страничка на сайте, на которой будут представлены все друзья сайта.

http://virtual.bresttelecom.by - Виртуальный Брест. Региональный информационно - развлекательный портал города Бреста. Чат, форум, статьи, услуги, объявления, недвижимость, каталог сайтов - это и многое другое ждет Вас на страницах сайта.
http://price.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
WebCraft - всё для вебмастеров, увеличение вашего трафика на 200 посетителей в день.

http://softm.h1.ru/ - программы для бизнеса - это простые решения сложных задач
http://moskalyuk.com/links/index.htm . На сайте собрана коллекция ссылок, причем, как нетрудно убедиться, многие посвящены программированию и компьютерным наукам. По РНР отдельно пока ничего нет, просто в последнее время я увлекался языком Perl, кому-то может показаться интересным.
http://sos.dax.ru - Проект "SOS:Помощь пользователю". На сайте вы найдете множество статей, советов по компьютеру. Всегда свежий софт. А также вы сможете задать вопрос и получить на него моментальный ответ. Если вам нужна помощь - мы поможем вам!
http://www.uvd.tula.ru - сайт криминальной милиции УВД Тульской области. Здесь будет все, что касается милиции, права и жизни города Тулы.
http://www.pro-forex.com/ru/index.php - Большой проект финансовой тематики, полностью реализованный на PHP и MySql: Дилинговый Центр PRO-FOREX.COM
http://myvote.hut.ru - MyVote - голосование на Вашем сайте.Сервис для всех вебмастеров, которые хотят сделать свой сайт более интерактивным. Позволяет организовать опрос мненияпользователей на любом сервере.
http://kinfa.narod.ru/ "Для программистов, Web - мастеров, разработчиков и пользователей, интересующихся новыми возможностями языка HTML"
http://catsclub.boom.ru - Все о кошках в Кошкином Клубе
www.adelavida.com.ua - Юмор, Галерея совремённых художников, Советы по Виндозе, Полезные ссылки
http://www.sura.ru/maxwell Математика, Алгоритмы, Программирование. На сайте можно найти описания различных алгоритмов и методов, относящихся к различным математическим (и не только) дисциплинам.
http://rodinaaa.nm.ru - Велкам в "Уголок Родины", на персональную страницу Бориса Киреева aka Генерал Родина. Здесь Вы можете познакомиться с моим как бы литературнымтворчеством. Творчеством моих друзей.
ermakov.hut.ru - Не нажимайте на эту ссылку! Все равно на Абсолютно бесполезном сайте Вы не найдете ничего, кроме самых интересных кроссвордов, обычных и не очень, самых смешных анекдотов. Стоит ли идти на этот сайт для того, чтобы подписаться на лучшую кроссвордную рассылку Subscribe.ru?!


Подпишитесь на рассылки!

Рассылки Subscribe.Ru
Программируем на PHP - вопросы и ответы
Новости сайта Виртуальный Брест
Оптимизация и настройка компьютера
SOS:Помощь пользователю Интернета
Вэб-строительство Профессионалам
Кроссворды от К.Ермакова
JavaScript и PHP
:-) ШуТкИ - ШутКамИ (-:
Dummpy Daily eTips

Здесь будет публиковаться список рассылок, рекомендуемых к подписке. Если у Вас есть рассылка - предлагаю Вам обменяться подобной формочкой для подписчиков. Достаточно прислать мне код рассылки и ее название.


автор рассылки Андрей Кухарчик / http://virtual.bresttelecom.by/php



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

В избранное