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

Веб-дизайн. Вопросы и ответы.

  Все выпуски  

Веб-дизайн. Вопросы и ответы. # 33 (113) Dweb.ru


Информационный Канал Subscribe.Ru


WEB-дизайн. Вопросы и ответы.
# 33 (113)
31 августа 2002г.
Проект сайта "AGS Design" Dweb.ru & DwebHost.ru
кол-во подписчиков - 15700

    В этом выпуске:

  • Задать вопрос.
  • Архив рассылки.
  • Вопросы.
  • Вопросы и ответы.
  • Дом для сайта.
  • Клуб друзей.
  •   Ссылки Вебмастеру:

  • Иконки и кнопки
  • Flash и Photoshop
  • Баннеры & Фото
  • Dweb - SHOP
  • Анимация и графика
  • Скрипты (CGI,JS,Applet)
  • Фоны
  • Форум
  • Хостинг
  • Web-дизайн
  • 3D анимация
  • Обменные сети

  • Доброе время суток!

    Задать вопрос в рассылку можно ТОЛЬКО на сайте http://dweb.ru, вписываете свой вопрос в форму для Обратной связи (правая колонка) и отсылаете. Вопрос публикуется уже в ближайшей рассылке.

    Вопрос публикуется только один раз (из-за ограничения размера выпуска и огромного кол-ва вопросов)
    Вопросы не относящиеся к тематике рассылки и присланные на е-мейл публиковаться НЕ БУДУТ.
    Маленькая просьба. Если Вы пишете автору ответа, чтобы он уточнил какие-либо детали, то цитируйте в письме вопрос и ответ полностью.


    Свои вопросы Вы также можете задать на нашем Форуме.

    Последние темы форума:
  • Скрипты (CGI PHP ASP JS)
  • Графика (Flash Photoshop и т.д.)
  • HTML (html css редакторы и т.д.)
  • Разбор Сайтов
  • Выбор Платного Хостинга
  • Выбор Бесплатного Хостинга
  • Баннерная реклама
  • Почтовые рассылки
  • Поисковые системы



    Новые условия выкупа показов!

    Обменнная Баннерная сеть для Веб-Мастеров (BBE468x60), формат баннеров 468х60, приглашает к участию в обмене сайты с тематикой "Для Веб-Мастера" ВСЕМ новичкам начисляются Бесплатные показы - 50000 Комиссия сети - 6%.
    Высокий CTR сети обусловлен тем, что сайты-участники данной сети одной тематики.
    Сеть производит выкуп показов по цене от $0.09 за 1000 пок. независимо от CTR.
    Зарегистрироваться в сети >>>



    Дом для сайта


    DwebHOST.RU - Качественный, недорогой, надёжный, профессиональный хостинг для Вашего Бизнеса - от $7.61 / 300 Мб. в мес. PHP4.1 CGI SSI SSH MySQL WAP Cron + Масса Скидок, Подарков и Бесплатных услуг и мн. др. Спешите! Оплата любым способом (WebMoney - с дополнительными скидками, СберБанк, Банковские карточки). Подробнее на сайте DwebHOST.RU

    Поноценный хостинг в кредит!

    DwebHOST.ru предоставляет полноценный хостинг с доменами в любой зоне в кредит, либо за показ рекламы на стр. Вашего сайта. Подробнее на нашем сайте DwebHOST.ru



    Вопросы

  • 2976. Есть у меня сайт, на котором я включил в качестве фонового воспроизведения MIDI файл при помощи тега: <EMBED SRC="http://djmaster.on.ufanet.ru/mp3/mm.mid" WIDTH="72" HEIGHT="27" AUTOSTART="TRUE" MASTERSOUND="100" VOLUME="80" LOOP="FALSE">
    к сожалению все настройки уровня громкости IE игнорирует. Как можно принудить IE (через WinMediaPl) проиграть файл на заданной мной громкости? Ответить.

  • 2977. У кого есть хороший скрипт, по добавлению на сайт ссылок (который могли бы сами посоветовать) но только чтобы скрипт был написан на языке .pl Ответить.

  • 2978. Есть много программ для языка PHP к примеру Php-4.0.6-win32. Скажите какая программа лучше и с чего стоит начать изучение php? Ответить.

  • 2979. Скажите пожалуйста что случилось с ICQ Status Indicator он постоянно находиться в состоянии disabled? Ответить.

  • 2980. Я очень часто вижу на сайтах ссылки такого типа:
    index.php?lang=en&cat=design&f=index
    Так, как я собираюсь делать сайт на 3 языках, это меня заинтересовало.
    В каких случаях их употребляют? Вот я „смастерил“ примитивную, так называемую программу, хотя тут все работает, но смысла я не вижу.
    <?php
    $lang == $QUERY_STRING;
    $end = ".php";
    if ($QUERY_STRING !== "")
    {
    require("$lang/$cat/$f$end");
    }
    else
    {
    require("index2.php");
    }
    ?>
    Может кто-то поделится со скриптом такого плана и объяснит его преимущества? Ответить.

  • 2981. Я хочу, чтобы, когда люди заходили на мой сайт и разворачивали его на весь экран, то вся информация растягивалась на всю ширину (ну как бы width=100%), а когда минимизировал окно содержимое не сжималось до размеров окна а оставались такими же. Не хочу устанавливать ширину при развёрнутом окне жёстко, так как вы понимаете, что на разных компах, в разных ОС, в разных броузерах и т.д и т.п. ширина окна будет разная. Вот поэтому и задаю этот вопрос: как сделать, чтобы не задавать размеры ширины жёстко, но и чтобы размеры были определёные. Ответить.

  • 2982. Как в браузере вывести окно авторизации, типа как на Spylog? И как им пользоваться (читать с него информацию)? Ответить.

  • 2983. Я хотел бы узнать побольше об Cron и этой технологий:
    1:не знаете где сзять инфу?
    2:Где можно взять дистрибутивы что-бы установить на локальный компьютер, если у меня OC - WINDOWS? Ответить.


  • x. Почему не работает Icq Indicator сделал все как написано на www.icq.com, но мне отображается Disable, в Icq галочка стоит что разрешать видесь себя в web. Помогите.... Icq последней версии. Ответить.

  • x. Использую я СУБД Interbase+Perl+IBPerl+Apache .... и есть машинка у меня под АСПЛинуксом на которой все работает ... Вот надо хотяб месяца на 3-6 в инет в тестовом режиме запустить... денег особых нету .... (200-300 в месяц максимум ) может поможете чем ??? когда (я надеюсь эхххх ....) на проекте начну зарабатывать буду сотрудничать на коммерческой основе ... Прошу так сказать поддержки. Ответить.

  • x. Нужна срочно помощь в правке одного исходника (*.fla) в Macromedia flash mx (v.6). Откликнитесь пожалуйста кто может. Ответить.

  • x. Cейчас я делаю новый дизайн сайта с использованием flash . Мне нужна помощь в правке одного объекта (ссылки). Я сделал меню прокрутки изображения. Могли бы вы помочь мне, если вы знакомы со flash. Ответить.


    ВебМастеру

    Система эффективной раскрутки сайтов www.HitHost.ru:
    ВебМастер - раскрути свой сайт БЕСПЛАТНО! За час ты можешь заработать до 120 визитов на свой сайт!
    Рекламодатель - повысь посещаемость своего проекта! От 1.2$ за 1000 посетителей на Ваш сайт!
    Пользователь - заработай, участвуя в нашей партнерской программе! 5% WMZ c продаж + 5% купленных посещений в подарок на раскрутку!



    Вопросы и ответы

  • 2959. Я ничего не смыслю в дизайне , но сейчас хочу изучать графику. Для поступления в школу мне нужно создать 3 логотипа в формате GIF .Я не совсем понимаю что это такое этот формат. И вообще в какой программе нужно заниматься дизайном. Пожалуйста опишите всё по шагово.
    Ответ прислал Roman.
    1 GIF- формат - этот графический формат создали для создание не больший графических рисунков с максимальной палитрой 256 цветов . в основном он применяется для создание логотипов, баннеров.
    Что касается разработки дизайна, то по своему большему опыту могу сказать ,если работаешь с растворной графикой, то PhotoShop 6.0 ,а если с векторной то CorelDraw.
    Если не знаешь что такое растворная и векторная графика объясняю.
    Растворная графика - это то что заливается заливкой, рисуется корандашем,кистью и.п.д
    Векторная графика - это создания каркаса таблиц или контуры рисунков т.е оболочка объекта
    Ответ прислал ФуксЪ.
    Сходи почитай - если терпежу хватит: http://foox.by.ru/ (раздел менюшки - "Обучалки") уроки HTML и Photoshop 7.0 (подробно, с картинками и разжевано проще некуда - расчитано от самого начального уровня)
    Ответ прислал Литвинов.
    Если ты хочешь, создать простой лого - то есть не двигающийся - то лучше всего подойдет Adobe Photoshop. Открываешь его. Создаешь новый файл и рисуешь (там уж разберешься как - несложно), затем выбираешь в меню Файл опцию Экспорт. Среди предложенных вариантов указываешь Gif89 и затем вводишь имя желаемого файла - например, logo. В итоге получается файл logo.gif - это и есть то, что тебе нужно.
    Для создания динамических баннеров (двигающихся) существуют разные проги. Например, AnimationWizard. Надо подготавливать каждый кадр анимационного баннера в Photoshop, а затем запихивать все их в AnimationWizard и скреплять друг с другом. Получится крутой gif.
    Adobe Photoshop лучше купить на CD, а вот всякие там Wizard можно скачать из инета.
    Ответ прислал Epic.
    Если тебе дали такое задание, я бы с начало советовал разобраться с этим всем более подробно а не ограничиваться ответами этой рассылки. Разберись более подробно, интернет большая штука, когда научишься, уже и пробуй поступать, потому что сложно будет, видать просто школа не совсем самого начального уровня. А вообще можешь писать, спрашивать, будет время помогу...
    Ответ прислал Mihey.
    Все очень просто GIF- это графический формат, позволяет хранить несколько изображений (кадров) в одном файле, в свою очередь это позволяет создавать анимации. Но можно в нем хранить и отдельные изображения. Его отличительной особенностью является то, что он может хранить не более 256 цветов. То бишь сохранить хорошую цифровую фотку в этом формате без значительной потери качества как ни потей, не получится. Но если ты говоришь о логотипах, то это в самый раз, потому что в них много цветов не надо, а 256 более чем предостаточно. Ну вот вроде и все если не вникать глубоко.
    А вот в какой программе лучше заниматься дизайном это вопрос глубоко философский, я например могу назвать минимум 15-20 программ. Каждая из них хороша по своему. Но если быть более конкретным основным инструментом для графического дизайна, по моему личному мнению оставался и остается Adobe Photoshop, кстати в твоем случае это наиболее приемлимая программа для создания гиф логотипов. А вот список других программ, но все же не советую переходить на них пока не освоишь Фотошоп:
    CorelDraw Fireworks Gif Movie Gear ( только для gif-анимаций)
    Picture Express и другие список можно перечислять сколь угодно долго. Если будут какие то проблемы или надо будет рассказать по подробнее, пиши чем смогу тем помогу.

  • 2962. Что за режимы: ASCII, BINARY?
    Ответ прислал Александр Жешев.
    Первый - передача файла в текстовом режиме, после каждй строки передается символ ее завершения \n , который может напортить что-нибудь в двоичных файлах (картинки и все, что нельзя просто так открыть Блокнотом), поэтому такие файлы надо пересылать в двоичном (бинарном) режиме.
    Ответ прислал Roman.
    ASCII – это досавская кодировка для раскалтки клавиатуры.
    Binary – (переводится двоичный ) - это двоичная система .Пример 1 – относится к десятичной системе, а в двоичной системе бедут 0001. компьютер понимает и обрабатывает информацию только в это системе.
    Ответ прислал Литвинов.
    ASCII - Это шестнадцитеричный код обозначающий определенную клавишу (чаще всего).
    Binary - это двоичный код. Например, число 12 в двоичном коде будет 1100.

  • 2963. Начал изучать Перл с ХТМЛ попробовал написать игру типа "Угадай число" форма с предложением угадать в ХТМЛ, обрабатывается это дело Перлом. после ввода первого числа браузер переходит на ссылку скрипта, прописанную в <form action="game.pl"> как мне его (браузер) вернуть в ХТМЛ форму и чтоб в ХТМЛ форме отображалось введенное число? include virtual и exec cgi приводят к одному результату-переходу. думал на Java S еще под кнопку Submit "Reload" поставить. только я не знаю как :( все писано под Апач и Актив перл на локальном компе под Windows2000Pro.
    Ответ прислал Александр Жешев.
    Для этого твой скрипт должен выводить форму сам. Кстати, совет программера под Перл - переходи на ПХП, сам недавно (полгода как) перешел и не жалею - геморроя меньше.
    Ответ прислал Gorky Jury.
    Не надо его никуда возвращать – Перл-скрипт генерирует в ответ хтмл-страничку, дык выведи в ней эту форму.
    Ответ прислал Андрей Попов.
    В результате работы Perl-скрипта подключаешь страницу так print "Location: http://busheron.ru/master.shtm?$число \n";
    Внимание! Чтобы страница подключалась, в программе не должно быть раньше этой строки оператора "print".
    В html-файле в том месте, где должно отображаться число прописываем так: <!--#echo var="QUERY_STRING"-->
    Естественно, сервер должен обрабатывать SSI, и, обычно, расширение должно быть .shtm

  • 2965. У меня на каждый день есть стих и я хочу,чтобы он автоматически,в зависимости от даты,обновлялся.
    Ответ прислал Gorky Jury.
    Опять же, НА КАКОМ ЯЗЫКЕ программирования ты хочешь это написать?
    Ответ прислал Александр Жешев.
    В зависимости от языка, на котором ты умеешь писать. Ты выводишь стих и сохраняешь в файле дату его вывода. Когда стих выводится, он должен проверять сохраненную дату и текущую дату, если они не равны - выводить следующий стих и сохранять новую дату.
    Ответ прислал Epic.
    может и мудрено зато легко! ;)
    1. <?
    2. $currDate=date("d.F", time());
    3. if (file_exists("$currDate.php")):
    4. include("$currDate.php");
    5. else:
    6. print "<!-- $currDate=none -->";
    7. endif;
    8. ?>
    Вот, все очень просто, мы определяем дату (так же называем и файл), т.е. к примеру "23.09.php", если файл есть - он откроется, в него уже можно вписать чего надо, а если нету, то соответственно ничего и не откроется. А форматы даты всегда можно изменить на line 2, там где d.F, аналогичен SSI или тому же PHP, легко короче....

  • 2967. Начал изучать Перл. Сразу же возникли проблеммы. Скрипт:
    #!/usr/bin/perl
    print "Content-type: text/html\n\n";
    print "What is your name? ";
    $name = <STDIN>;
    chomp ($name} ;
    if ($name eq "Randal") {
    print "Hello, Randal! How good of you to be here!\n";
    } else
    { print "Hello, $name! \n";
    }
    Форма запроса имени:
    <form method="GET" action="http://./cgi-bin/urok.pl">
    <div align="center"><center><table border="0" width="60%" height="12">
    <tr><td width="30%" height="3" align="right" size="1"><b>Ваше имя:</b></font></td><td width="70%" height="3"><input type="text" maxLength="64" name="name" size="33" style="width: 100%"></td></tr></table>
    </center></div><div align="center"><center><p> <input style="background-color: #c0c0c0; color: FFFFFF; font-weight: bold; font-family: Verdana; font-size: 9pt; width=20%;cursor:hand;" type="submit" value="Послать" ></p>
    </center></div>
    </form>
    Вводишь имя, посылаешь. Приходит ответ: What is your name? Hello, name= Введенное имя!
    Цикл не работает, name= Имя Почему так?
    Ответ прислал Александр Жешев.
    В скрипте нет ни цикла, ни видимых ошибок, есть только IF-консктрукция, но и она составлена правильно...

  • 2968. Имеется таблица в четыре ячейки. Нужно, чтобы при фокусировке на первой, второй или третьей ячейке в чевертой появлялся определенный текст. Для каждой - свой. Помогите пожалуйста, как это осуществить с помощью JS.
    Ответ прислал Александр Жешев.
    Прилагаю скрипт, автор - технолог Design.ru Андрей Лечев (dhtml.ru)
    <script language=JavaScript>
    function new_text(elem)
    {
    node = elem.getAttribute('text');
    replaceElemContents('hello', node);
    }
    //
    // Copyright (c) Art. Lebedev Studio | http://www.design.ru/
    // Author - Leechy | leechy@design.ru | http://www.dhtml.ru/
    //
    opera = (navigator.userAgent.indexOf('Opera') >= 0)? true : false;
    dom = (document.getElementById)? true : false;
    ie4 = (document.all && !dom)? true : false;
    nn4 = (document.layers)? true : false;
    
    function createNN4Leer(leerId, firstLeer, secondLeer) { if (nn4) {
      document.layers[leerId] = new Layer(document.layers[secondLeer].pageX -
        document.layers[firstLeer].pageX);
      document.layers[leerId].left = document.layers[firstLeer].pageX;
      document.layers[leerId].top = document.layers[secondLeer].pageY;
      document.layers[leerId].visibility = "show";
    }}
    
    function replaceElemContents(elemId, contents) {
      if (dom && !opera) document.getElementById(elemId).innerHTML = contents;
        else if (ie4 && !opera) document.all[elemId].innerHTML = contents;
          else if (nn4) {
            if (!document.layers[elemId])
              createNN4Leer(elemId, elemId+'LeftAnc', elemId+'RightAnc');
            document.layers[elemId].document.open();
            document.layers[elemId].document.write(contents);
            document.layers[elemId].document.close();
          }
    }
    function createReplacementElem(elemId, alternativeText) {
      if ((dom && !opera) || (ie4 && !opera))
          document.write('<div id="'+elemId+'">'+alternativeText+'<\/div>');
        else if (nn4)
            document.write('<table cellpadding=0 cellspacing=0 border=0 width=100%>'+
            '<td width=100%><ilayer id="'+elemId+'LeftAnc"><br><\/ilayer><\/td>'+
            '<td align=right><ilayer id="'+elemId+'RightAnc"><br><\/ilayer><\/td><\/table>');
          else if (alternativeText) document.write(alternativeText);
            else document.write('Ваш браузер не поддерживает динамическую замену содержимого
    элементов!');
    }
    </script>
    
    <body>
    <table border=1 text=""  onMouseOut="new_text(this)">
            <tr>
            <td text="Курсор над ячейкой 1" onMouseOver="new_text(this)">Ячейка1</td>
            <td rowspan=3>
    <script language=JavaScript><!--
    createReplacementElem('hello', "Здесь появятся слова");
    // --></script>
            </td>
            </tr>
            <tr><td text="Курсор над ячейкой 2" onMouseOver="new_text(this)">Ячейка2</td></tr>
            <tr><td text="Курсор над ячейкой 3" onMouseOver="new_text(this)">Ячейка3</td></tr>
    </table>


  • 2969. Кто-нибудь знает, как делать парсинг документов XML+XSLT на PHP? Буду благодарен за простой, но рабочий пример.
    Ответ прислал admin.
    Напиши поподробнее, что именно тебе нужно. У меня есть кое-что, но хотелось бы поподробнее понять задачу.

  • 2970. Если во Flash 5 текст сделать ссылкой на какую-нибудь страницу, то можно ли указать что б после нажатия на ссылку, новая страница открывалась в новом окне? В Html - target="_blank" А в Flash 5?
    Ответ прислал Alexander Polyanko.
    А во Flash'е всё то же самое. В окошке Object Action под строкой URL находится полоса Window. В ней и пишешь "_blank".
    Ответ прислал Kozyrev.
    Зайди на сайт http://zona5.al.ru - там всё про Macromedia Flash, особенно хорош раздел "уроки" и раздел "конкурс"
    Ответ прислал iguana.
    Можно. Нужно присвоить кнопке такое действие:
    on (release) {
        getURL ("http://url.ru", "_blank");
    }
    Ответ прислал Paladin.
    Можно.....выделяешь текст, нажимаешь F8....придаешь тексту значение кнопки.......после этого правой клавишей мыши тыкаешься на слово выбираешь меню Действие....откроется окно....там надо выбрать Get Url...после чего в этом же окне внизу в первой строке пишешь свой Url....во второй из меню выбираешь как эта ссылка откроется (в твоем случае _blank)
    Ответ прислал Alisher Rakhimov.
    Во флэше всё точно также - среди параметров оператора getURL нужно указать target. Например getURL("www.site.ru", "_blank");

  • 2971. Нужен скрипт (код), функция у него такая. В чате открывается окно со смайлами (_blank), и мне нужно чтобы при нажатие на нужный смайлик его код появлялся в строке сообщения чата. Примерно как на сайтах allsoch.ru, krovatka.ru и т.д.
    Ответ прислал Turevich Georgiy.
    Реализуется это так. Во фрейм, где отправляются сообщения вставляешь батон <input type="button" value=":))" onclick = "smiles();">. В секцию <script> вставляешь функцию function smiles()
    {
        window.open("smiles.htm", "smile", "location=no", "height=500", "width=500");
    }
    Где smiles.htm страница с картинками, или ты можешь задать адрес скрипта генерирующего эту страницу.
    Старница smiles.htm в секции <script> должна содержать функцию
    function addI(cod)
    {
        window.opener.send.message.value += cod;
    }
    А тело страницы должно содеражать ссылки вида <a href="javascript:addI(' --21-- ')"><img src="21.jpg" height="20" width="20"></a> Надеюсь все понятно? Правда почему то не width="20">работаетПишите если что не поймете!
    Ответ прислал Mr.first.
    Я так сделал у себя в гостевой.
    <--
    function smile (icon)
    {
    document.test.message.value = document.test.message.value + ' ' + icon + ' ';
    document.test.message.focus();
    }
    //-->
    </script>
    </head><body>
    Форме дае имя test <form method="POST" action="pgbpost.pl" name="test"></form> <a href=javascript:smile(':)')><img src=http://designerweb.h1.ru/pgb/smile.gif border=0></a> Это принцип работы. Потом редактируй под себя...

  • 2972. Можно ли как-нибудь сделать так, чтобы обнавляласть определенная часть таблицы, а не вся сама страница? Если можно. То поподробнее можно описать? Нажав на какую то ссылку (onClick обработать) необходимо в ячейку таблицы подгрузить какую то страничку.... так чтобы менялась только высота ячейки и не было скролбаров (<object> и <iframe> не подходят).
    Ответ прислал Epic.
    Разве только что Layer, больше - только повеситься...Но с этим ты намучаешься потому что в разных браузерах выглядит по разному, ну а так вообще по моему очень удобная вещь с точки зрения DHTML...
    Ответ прислал Gorky Jury.
    У всех (или почти всех) элементов есть свойство innerHTML (и innerText) – посмотри что будет когда ты его изменишь.
    З.Ы. От Оперы я ничего вразумительного не добился, но, может, из-за кривизны рук ;)

  • 2973. Как и где можно зарегистрировать логотип своей студии?
    Ответ прислал патентный отдел.
    Зарегистрировать логотип, товарный знак можно у патентного поверенного в том регионе, в котором живёшь. Подаётся заявка в ФИПС - федеральный институт промышленной собствености, а они уже регистрируют. Попробуйте зайти на их сайт, может найдёте что-то интересное - www.fips.ru.

  • 2974. Возможно ли найти спонсора в интернете, и где его можно найти?
    Ответ прислал Андрей Попов.
    Нигде. Успокойся. Не ты первый, не ты последний, а главное - не ты единственный. даже, если спонсоры есть, то давно уже разобраны по рукам. Зарабатывать надо, а не спонсоров искать.
    Ответ прислал Литвинов.
    Спонсора чего? Если у тебя есть какие-то известные и популярные проекты, то можно найти без труда. Если ты только задумал какой-то проект, то тут надо приложить немалые усилия, чтобы кто-то поверил, что он действительно будет популярен. Для начала помести объявления во всевозможные доски объявлений (в инете). Затем попробуй в форумах сообщения оставить. А вообще, дело это почти безнадежное.
    Ответ прислал ФуксЪ.
    Спонсоры бывают разные - на проект, на лоха (пардон за лексику), на много чего еще. Набери в google.ru "спонсор" - а потом посвяти недельку раскопкам тех 20 000 сылок что на тебя выпадут :0)
    Ответ прислал Mr.first.
    Imho...На сайтах посвященных, халяве, заработку.

  • 2975. У меня есть вопрос по PHP: Я хотел бы узнать, можно ли как-то на PHP написать такую программу, которая может отправлять HTML файл со всеми картинками (знаете, как отправляет Microsoft Outlook) и можно ли к письму прикрепить какой ни, будь файл (архив)?
    Ответ прислал V'yacheslav.
    Можно. Для этого нужно создать класс для РНР :
    <?
    class mime_mail
     {
      var $parts;
      var $to;
      var $from;
      var $subject;
      var $headers;
      var $body;
    
    // void mime_mail()
    // конструктор класса
    
    function mime_mail()
    {
      $this->parts=array();
      $this->to="";
      $this->from="";
      $this->subject="";
      $this->body="";
      $this->headers="";
    }
    
    // void add_attachment(string message, [string name], [string ctype])
    // добавить вложение к объекту mail
    
    function add_attachment($message, $name="", $ctype)
    {
      $this->parts[]=array(
             "ctype"=>$ctype,
             "message"=>$message,
             "encode"=>$encode,
             "name"=>$name
                           );
    }
    
    // void build_message(array part=)
    // создать части сообщения
    
    function build_message($part)
    {
      $message=$part["message"];
      $message=chunk_split(base64_encode($message));
      $encoding="base64";
      return "Content-Type: ".$part[ "ctype"].($part["name"]? "; name=\"".$part["name"]."\"" : "").
             "\nContent-Transfer-Encoding: $encoding".
             "\nContent-Disposition: attachment; filename=\"".$part["name"]."\"".
             "\n\n$message\n";
    }
    
    // void built_multipart()
    // Создать сообщение из нескольких частей
    
    function build_multipart()
    {
      $boundary= "b".md5(uniqid(time()));
      $multipart="Content-Type: multipart/mixed; boundary=$boundary\n\nThis is MIME encoded message.
                        \n\n--$boundary";
      for($i=sizeof($this->parts)-1; $i>=0; $i--)
        $multipart.="\n".$this->build_message($this->parts[$i])."--$boundary";
      return $multipart.= "--\n";
    }
    
    // string get_mail()
    // возвращает созданное сообщение
    
    function get_mail($complete=true)
    {
      $mime = "";
      if(!empty($this->from))
        $mime.="From:".$this->from."\n";
      if(!empty($this->headers))
        $mime.=$this->headers."\n";
    
        // mailer add info
        $mime.="X-mailer: AlephMail v 1.0\n";
    
      if($complete)
      {
        if(!empty($this->to))
        $mime.="To:".$this->to."\n";
        if(!empty($this->subject))
        $mime.="Subject".$this->subject."\n";
      }
    
       if(!empty($this->body))
        $this->add_attachment($this->body,"","text/plain");
      $mime.="MIME-Version: 1.0\n".$this->build_multipart();
    
     return $mime;
    }
    
    // void send()
    // отправить сообщение
    
    function send()
    {
     $mime=$this->get_mail(false);
     mail($this->to, $this->subject, "",$mime);
    } } ?>
    Сохранить его например как mime.php
    а в самом скрипте подсоеденить его (require), и отправлять атач как
    ////
     $fd=fopen($filename,"r");
     $data=fread($fd,filesize($filename));
     fclose($fd);
    
     $mail=new mime_mail;
     $mail->from ="email@mail.ru";
     $mail->to="email@mail.ru";
     $mail->subject="subject"; // тема
     $mail->body="body";       //сообщение
     $content_type="content_type"; // миме-тип
     $mail->add_attachment($data,$filename,$content_type);
     $mail->send();
    Ответ прислал Epic.
    Да,можно...Ты решил написать OutLook Part two??? ;) Как аттач цеплять не помню, но легко, пиши, я видел где то статейки, на том же dweb.ru что то было, короче, искать нужно, но не долго ;), очень частый вопрос встречается практический на любом сайте по ПХП.
    Ответ прислал Андрей Попов.
    <?
    $message = "<html>
    html-код. Любой, какой угодно.
    </html>";
    $msg = "$message\n\n";
    $to = papex@fotos.ru;
    $subject = "Уведомление Web сайта busheron.ru";
    $mailheaders = "Content-type: text/html; charset=windows-1251\n
    Content-Transfer-Encoding: 8bit\n ";
    mail($to, $subject, $msg, $mailheaders);
    ?>
    Ответ прислал admin.
    Можно! В смысле есть уже давно. Пиши на admin@granada.ru - вышлю! Данный скрипт представляет собой HTML_Email_Class. И вообще, пора его выложить где-нибудь в общедоступном месте и большими буквами ссылку на него сделать, а то спрашивают про него чуть ли не через одну рассылку...
    Ответ прислал Gorky Jury.
    К письму прикрепить можно, смотри спецификацию формата. Со страничкой дело посложнее. Сам об этом думал как-то. Возможно, я не прав, но:
    - ПХП-скрипт на сервере не может иметь дело с файлами клиента, кроме посланных самим клиентом.
    - Лазить по файлам клиента может только прога, запущенная на его компе (дырки безопасности я не считаю)
    Итак, имеем 2 варианта:
    Пишем прогу, читающую хтмл-страничку, находящую все прикрепленные файлы (рисунки, стили, скрипты, и.т.д) и отправляющую их на сервер (прога работает на машине клиента). НО !!! Клиенту ее придется скачивать. Делаем отправку страниц в несколько этапов:
    А. Клиент отсылает страничку (1 файл)
    Б. Прога ее парсит, находит все прикрепленные файлы, можно даже узнать точные пути к ним на компе клиента (т.к. ты всегда знаешь полный путь к файлу, который он уже отправил).
    В. Выводим формочку для остальных файлов: "Не будете ли вы столь любезны послать нам эти файлы для корректного отображения ваших данных?". Кто откажется?
    Г. Получаем все файлы, проверим на всякий случай, все ли, сохраняем их (можно и под новыми именами, но тогда в хтмл-ке не забыть поменять ссылки)
    Д. Пишем "Спасибо, можете любоваться"
    Первый вариант проще, но… ”но” это очень большое – мало кто согласиться качать эту штуку, под каким бы соусом ее ни подали. Второй сложен, но очень хорош собой. У меня в свое время руки не дошли, хотя не так уж это и сложно. Решишься – пиши, советом всегда помогу.




  • Поиск хостера

    Вы затрудняетесь с выбором хостера? Не беда! Специально для вас создана система поиска хостера. Задав нужные параметры, вы идним кликом по кнопке "искать" можете найти подходящего хостинг-провайдера. В нашей базе содержатся сотни провайдеров, готовые предоставить хостинг для вашего проекта в любое время, когда вы захотите на ВЫГОДНЫХ для вас условиях. Спешите опробывать нашу систему по адресу http://host.vns.ru/


      Рекомендуем
    Хотите получить диплом канадского колледжа график- и вэб-дизайна, не выходя из дома? . New Image School (Торонто, Канада) продолжает набор на дистанционное отделение. Подробности – на сайте колледжа.

    Клуб друзей
    * Изучение английского - Школьникам, взрослым людей. Рассылка сайта.
    * Практическая помощь веб-мастеру - услуги и помощь веб-мастеру.
    * Для веб-мастеров - Множество статей по веб-дизайну, архив скриптов.
    * Все короли и королевы - Материалы практикующим преподавателем Англ. языка.
    * Описания спонсоров - которые действительно платят в Россию. Большой список.
    * Портал Web-Дизайнера.
    * Для веб-мастеров - Ссылки на беспл. места для сайтов, раскрутка сайтов.
    * Каталог бесплатных ресурсов - Интернет + заработок во всех его проявлениях.
    * Футбол - интервью - рейтинги, результаты. Патчи для игры FIFA 2001/2002
    * Обменные сети с ВЫКУПОМ показов
    В "Клуб друзей" может попасть любой сайт. Ссылки вращаются по КРУГУ постоянно. Как в рассылке, так и на сайте. Правила.



    ICQ - Клуб


    Адрес Клуба http://dweb.ru/1/icq.htm

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

    Для тех, кто может, а главное хочет поделиться своими знаниями, Вы можете вступить в наш Клуб, для этого присылайте # ICQ, Имя, E-mail, Город, и темы по которым возможна консультация.

    Авторам

    Вы хотите, чтобы ваши статьи были опубликованы в рассылках 'Веб-Дизайн, азы' и 'Веб-Дизайн. От А до Я'? Если вы считаете, что можете написать о дизайне, скриптам, графике и т.п., если Вам есть что сказать и о чем рассказать, я буду рад сотрудничеству с Вами. Присылайте свои предложения и статьи.
    Давайте вместе делать общее дело! Присылайте свои соображения, мысли, истории... поделитесь своим опытом.
    В качестве гонорара Вы получите несколько строк под Вашей статьёй, для рекламы/описания Вашего сайта.
    Буду рад сотрудничеству.


    Давыденко Дмитрий.     http://dweb.ru/

    © 2000-2002 Copyright by Dweb.RU
    Копирование материалов рассылки возможно только в случае явного указания на сайт "Dweb.RU" как на источник информации. При этом обязательно явное указание адреса: http://dweb.ru/


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

    В избранное