Архив для PHP

Как отправлять электронную почту, используя массовые PHP

Добавлено в PHP путем ShortLikeAFox по 19 сентября 2008

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

<? PHP

/ / Первые подключения к базе данных, которая содержит информацию об адресе электронной почты.
$ USER = "Пользователей";
$ принимающей = "Host";
$ Password = "пароль";
$ DATABASE = "База данных";

( "Couldn’t connect to server" ); $ cxn = mysql_connect ($ пребывания, пользователь $, $ Password) или умереть ( "Невозможно соединиться с сервером");
mysql_select_db ($ данных);

/ / Запрос таблица, которая содержит адреса электронной почты. Введите в свой стол именем здесь ...
$ запрос = "SELECT * FROM theEmailAddresses";
( mysql_error ($cxn)); $ результат = mysql_query ($ запроса, $ cxn) или умереть (mysql_error ($ cxn));
$ nrows = mysql_num_rows ($ результата);

/ / Кто отправитель будет называться. Вы можете поставить то, что нужно здесь, но на самом деле это не так уж этических поставить адрес электронной почты, который вы не контролируем здесь.
от $ = "From: me@mydomain.com";
/ / Стандартное сообщение темы
$ SUBJECT = "Что нового в mydomain.com";
/ / Сообщение
$ MESSAGE = "Привет ценят друг,

Теперь мы продаем печенье на mydomain.com. Обязательно проверьте сами!
С уважением,
мне ";

/ / Мы уже сомнение все адреса электронной почты. Теперь нам нужно просто отправить письмо
0 ; $i < $nrows; $i ++ ){ за ($ i = 0; $ I <$ nrows; $ I + +) (

$ подряд = mysql_fetch_assoc ($ результата);
Экстракт ($ строка);
/ / $ Заменить электронную почту с любого столбца адресов называется
до $ = "$ электронной почте";
/ / Отправить письмо на каждое письмо в базе данных
если (почта ($ к $ при условии, $ сообщении от $)) (

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

); эхо ( "$ до <br/>");

)

)




?>

Этот код использует PHP почте () функцию. Это очень мощный и простой в использовании функции. Помните, что с большой властью приходит большая ответственность. Старайтесь не использовать эту функцию, для зла.

Как сказать, где посетители Географически Использование PHP

Опубликовано в PEAR, PHP в ShortLikeAFox по 13 сентября 2008

Если у вас есть сайт и вы хотите сказать, когда у пользователей из географически PHP и PEAR сделать это возможным. В свою очередь, гости IP на физическом местоположении первое, что вы собираетесь нужно сделать, это убедиться, что вы Net_Geo PEAR модуль. Если у вас нет Net_Geo PEAR модуль, вы должны использовать PEAR Package Manager на его приобретение.

Если вы не думаете, что у вас есть доступ к PEAR из-хостинга пакет, проверить это объяснение о том, как установить PEAR по счету, которая не разрешает доступ по умолчанию. Он написан с GoDaddy общих счетов в виду, но должен работать для большинства хостинг пакеты, которые не поставляются с PEAR созданы.

После того, как вы Net_Geo пакет, это займет всего несколько строк кода, для приобретения географические данные:

<? PHP

); require_once ( "Net / Geo.php");
]; $ IP = $ _SERVER [ 'REMOTE_ADDR'];
/ / $ IP = "64.246.30.37";
$ firstNetGeo = новый Net_Geo ();
геоданных $ = $ firstNetGeo-> getRecord ($ IP);

?>

($ip); ?> <br/> IP: <? PHP Echo ($ IP);?> <br/>
($geoData[ 'LAT' ]); ?> <br/> Широта: <? PHP Echo ($ геоданных [ 'LAT']);?> <br/>
($geoData[ 'LONG' ]); ?> Долгота: <? PHP Echo ($ геоданных [ 'LONG']);?>
<br/>
($geoData[ 'COUNTRY' ]); ?> <br/> Страна: <? PHP Echo ($ геоданных [ 'Country']);?> <br/>
($geoData[ 'STATE' ]); ?> <br/> Государство: <? PHP Echo ($ геоданных [ 'Государственная']);?> <br/>
($geoData[ 'CITY' ]); ?> <br/> Город: <? PHP Echo ($ геоданных [ 'Сити']);?> <br/>

Код в работе:

IP: 66.249.85.132

Широта: -25.00

Долгота: 135.00

Страна: АС

Государство:

Город:

Как делить одного изображения на несколько изображений с помощью PHP

Опубликовано в функции PHP по ShortLikeAFox по 26 августа 2008

Так вы хотите разорвать одно большое изображение на несколько меньших образы? Нет проблем. Это может показаться скрывать проблемы, а Существуют несколько причин, по которым Вы хотели бы это сделать. Может быть, вы хотите создать визуальное раздвижных пазл. Или, может быть запущена уникальная WordPress тема. Или вы хотите создать коллаж какой-то. Он действительно не имеет значения, почему вы хотите разбить изображение на более мелкие изображения, PHP делает эту задачу легко. В качестве примера ниже рассматривается только с файлами JPEG. Изменение функции для решения других видов изображений не будет трудно.

<? PHP
/ / Эта функция будет разделить образ на несколько одинаковых по размеру столбцов и строк.
Функция split_image ($ number_of_rows, $ number_of_cols, $ path_to_image, $ имя_файла) (

/ / $ = # number_of_rows строк вы хотите;
/ / $ = # number_of_cols в столбиках вы хотите
/ / $ path_to_image = путь к папке, в образ, что-то вроде: / Главная страница / Содержание / имя пользователя / HTML / список / добавления /
/ / $ = имя_файла имя файла изображения: archery.jpg и т.д.

/ / Разбор пути для расширения
$file_name); $ Info = pathinfo ($ path_to_image. имя_файла $);

/ / убедиться, что мы имеем дело с JPEG
($info[ 'extension' ]) == ‘jpg’ ) || ( strtolower ($info[ 'extension' ]) == ‘jpeg’ ) ){ если ((strtolower ($ Info [ 'расширение']) == 'JPG') | | (strtolower ($ Info [ 'расширение']) == 'JPEG')) (

/ / Загрузить изображение и получить изображение размером
); $ источника = imagecreatefromjpeg ( "($ path_to_image) ($) имя_файла");
$ = ширина imagesx ($ Source); / / Найти ширина
$ высота = imagesy ($ Source); / / Найти высоту
$ = $ segment_width ширина / $ number_of_cols / / Определение ширины отдельных сегментов
$ = $ segment_height высота / $ number_of_rows / / Определите высоту отдельных сегментов

за ($ Col = 0; $ Col <$ number_of_cols; Col $ + +)
(

за ($ подряд = 0; $ строку <$ number_of_rows; $ подряд + +)
(

, $col, $row ); $ FN = sprintf ( "% 02d_ IMG 02d.jpg%", $ Col, $ строка);
); //I print the image name here, so that the process shows itself as it runs эхо ( "$ FN"); / / I печатать изображения названия, думаю, что этот процесс показывает, как оно работает
$ IM = @ imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ им, $ источника, 0, 0, $ Col segment_width * $, $ * $ подряд segment_height, $ segment_width, $ segment_height, $ segment_width, $ segment_height);
Файл $ = "test.jpg";
/ / Сохранить изображения
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn если (imagejpeg ($ им, "INSERT НАЗНАЧЕНИЯ здесь", 100)) / / назначения будет нечто вроде / Home / содержание / C / ч / д / фото / $ FN

эхо ( "был достигнут! <br/>");

)

)

)

)

?>

Как включить Функционирование PHP код в вашем WordPress Сообщений

Опубликовано в WordPress, PHP на ShortLikeAFox по 17 августа 2008

Так вы хотите иметь возможность использовать PHP в вашем блоге WordPress постов и страниц. Это не проблема. Только с помощью <? PHP ... ... ..?> Собирается делать WordPress гнева, если вы установите плагин первой. Есть несколько плагинов, которые там утверждают, что предоставляют такую возможность, но то, что я нашел работу лучше Exec-PHP. Чтобы начать использовать PHP-код, выполните следующие действия:

  1. Скачать Exec-PHP
  2. Установите его, как и любой плагин (по ссылке выше, и Readme файл будет ходить через этот)
  3. Если вы используете его, вы должны отключить WYSIWYG редактор. Для этого перейдите на пользователей -> Ваш профиль и снимите флажок Использовать визуальный редактор при написании флажок
  4. Вводите PHP-код, как обычно: <? PHP .... Код здесь?>

Это все есть в этом!

Как создавать и использовать динамически Именованные переменные с PHP

Добавлено в PHP путем ShortLikeAFox по 17 августа 2008

Так что вы хотите использовать динамическую переменную именами в вашем коде. Нет проблем. Скажем, у вас есть 100 переменных назвал dog0, dog1, dog2, ...., Dog98, dog99. Почему вы хотите использовать 100 переменных, например, вместо массива находится за мной, но это не имеет значения для данного примера. Чтобы задать эти переменные в быструю петлю можно использовать следующим образом:

0 ; $i < 100 ; $i ++ ){ за ($ i = 0; $ I <100; $ I + +) (

; $ variableName = "собака $ I";
$ $ variableName = $ I; / / устанавливает $ dog1 1, $ dog2 2, $ 34 собак до 34, и т.д. ....

)

Теперь скажем, вы хотите получить доступ всех этих переменных. Вы можете использовать следующие:

0 ; $i < 100 ; $i ++ ){ за ($ i = 0; $ I <100; $ I + +) (

; $ variableName = "собака $ I";
эхо ( "<br/>");
эхо ( "$ variableName:");
Echo ($ $ variableName);

)

Этот цикл гравюр:

dog0: 0
dog1: 1
dog2: 2
dog3: 3
dog4: 4
dog5: 5
dog6: 6
dog7: 7
dog8: 8

и т.д. ... все пути
dog99: 99

Как Intergrate ISBN доступе на веб-страницы с помощью PHP

Добавлено в PHP путем ShortLikeAFox по 12 августа 2008

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

Шаг первый: ISBNdb.com это создает API, который позволяет пользователям со всего Интернета получают доступ к своей базе данных ISBN записей. Вот их собственное описание API:

ISBNdb.com 'S удаленного доступа интерфейс прикладного программирования (API) предназначен, чтобы позволить другим веб-приложений и автономного использования огромного сбора данных, собранных ISBNdb.com с 2003 года. На момент подготовки настоящего документа, в июле 2005 года, включает в себя данные почти 1800000 книг, почти 3000000 млн. библиотеку записей; около миллиона предметов; сотни тысяч автора и издателя записей парсится из библиотеки данных, более 10000000 отчеты о фактических и исторических Цены.

Для использования этого API необходимо сначала зарегистрироваться. Регистрация занимает буквально секунды до конца. После этого, вам необходимо создать ключ. Клавиши позволяет напрямую получить доступ к базе данных ISBN от вашего собственного кода. ISBNdb.com сайт делает создание ключи легко.

Шаг второй: Теперь вы начать написание кода для взаимодействия с базой данных. Запрос на ISBN поиска будет выглядеть так:

$ isbnData = "http://isbndb.com/api/books.xml?access_key=XXXXXX&index1=isbn&value1 = $ isbnQuery";

Вы бы вставить ваш ключ доступа в места XXXXXX. $ IsbnQuery будут ISBN числа вы заинтересовать $ isbnData это XML файл. Для доступа к этой информации нужно, чтобы Ваш код знаю, что это дело. То, как это будет работать:

) ; $ xmlData = @ simplexml_load_file ($ isbnData) или умереть ( "Файл не загружен");

Теперь вы можете получить доступ к отдельным переменным с призывами вроде этого:

]->Title ; $ Title = $ xmData-> BookList [0] -> BookData [0] -> Название;

Вот полный пример:

<? PHP

Searchquery $ = "9780684801223"; / / The ISBN для в Эрнест Хемингуэй Старик и море
$ isbnData = "http://isbndb.com/api/books.xml?access_key=XXXXXX&index1=isbn&value1 = $ Searchquery"; / / Не забудьте заменить XXXXXX с собственным ключом доступа
) ; $ xmlData = @ simplexml_load_file ($ isbnData) или умереть ( "Файл не загружен");
]->Title ; $ Title = $ xmlData-> BookList [0] -> BookData [0] -> Название;
]->AuthorsText ; Авторы $ = $ xmlData-> BookList [0] -> BookData [0] -> AuthorsText;
]->PublisherText ; $ = $ издателя xmlData-> BookList [0] -> BookData [0] -> PublisherText;

); эхо ( "$ Title <br/>");
); эхо ( "$ авторов <br/>");
); эхо ( "$ издателя <br/>");

/ / Этот пример выводит:
/ / Старик и море
/ / Эрнест Хемингуэй
/ / Нью-Йорк: Scribner мягкой Fiction, 1995.

?>

Как подтвердить адрес электронной почты с помощью PHP

Добавлено в PHP путем ShortLikeAFox по 5 августа 2008

Поэтому вам необходимо подтверждение пользователя, адрес электронной почты? Нет проблем. Есть много причин, требовать подтверждение электронной почты, PHP, и делает это просто.

Email подтверждения могут быть завершены эти шаги:

  1. Запрос пользователя на любую информацию, вам необходимо с ними (в том числе их адреса электронной почты)
  2. Ввод этих данных в базу данных
  3. Отправить пользователю сообщение с подтверждением специального ключа
  4. "Разблокировать" данные в базу данных после того, как подтверждение ввода ключа.

Как это сделать:

<? PHP

/ / Во-первых, давайте подключиться к базе данных

$ user_name = "dbUserName";
$ принимающей = "dbHost";
$ my_password = "dbPassword";
$ DB_NAME = "DBNAME";

/ / Подключиться к серверу и выбрать базу данных.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); mysql_connect ( "$ хост", "$ user_name", "$ my_password") или умереть ( "не могу подключиться к серверу");
) or die ( "cannot select DB" ); mysql_select_db ( "$ DB_NAME") или умереть ( "Невозможно выбрать БД");

/ / Следующие строки в основном спрашивает, если пользователь должен иметь форму отображается. Читать вниз немного, если вы хотите увидеть, где переменные из

(@ $_GET [ 'first' ] == "no" ) && ! (@ $_GET [ 'confirm' ] == "yes" ){ если (! (@ $ _GET [ 'первый'] == "нет") И И! (@ $ _GET [ 'подтвердить'] == "да") (
/ / Поскольку это первая страница дисплей и нет подтверждения кода включена мы должны проявить виде для пользователя, чтобы заполнить
/ / Эта форма лишь один аргумент (пользователем адрес электронной почты).
?>

method= "post" action= "index.php?first=no" > <form name= "emailConfirmation" method= "post" action= "index.php?first=no">

<table align="center">
<tr>
<td>
type= "text" id= "email" size= "30" /> Электронная почта: <input name= "email" type= "text" id= "email" size= "30" />
</ TD>
</ TR>
<tr>
<TD align="center">
name= "Submit" value= "Submit" /> <input type= "submit" name= "Submit" value= "Submit" />
</ TD>
</ TR>
</ TABLE>
</ FORM>

<? PHP

)

/ / Если форма была заполнена, мы должны сгенерировать код подтверждения вставить код подтверждения и пользователей электронной почты в базе данных, и отправить сообщение на адрес электронной почты.
[ 'first' ] == "no" ){ //if the form has been filled out… ELSEIF (@ $ _GET [ 'первый'] == "нет") (/ / Если форма была заполнена ...

/ / is_valid_email_address не является действительным PHP функций. Включить свой собственный адрес электронной почты, проверка функции здесь ...
is_valid_email_address( $_POST [ 'email' ])) если (! is_valid_email_address ($ _POST [ 'письмо']))

); эхо ( "Извините, адрес электронной почты, вы ввели, не действительны.");

/ / Если адрес электронной почты, как действительные и безопасной ...
еще (

]); $ почты = ($ _POST [ 'письмо']);
/ / Сгенерировать код подтверждения здесь. Вот так я выбираю это делать, но Существуют бесчисленное количество способов, которые будут работать.
( rand ())); $ CONFIRMATION_CODE = md5 (uniqid (Rand ()));
/ / Все это более или менее ОК, чтобы войти в базу данных, а затем отправить письмо пользователю
$ запрос = "INSERT INTO emailConfirmationTable (user_email, con_code) VALUES ( '$ электронной почты', '$ CONFIRMATION_CODE')";
("Config Error 2223 "); $ результат = mysql_query ($ запроса) или умереть ( "Конфигурация Ошибка 2223");
/ / Отправить письмо
$ до $ = почты;
$ SUBJECT = "Ваш shortlikeafox пример подтверждения" / / С
$ = заголовок "От: shortlikeafox <info@shortlikeafox.com>";
/ / Ваше сообщение
$ MESSAGE = "Ваша ссылка Comfirmation! \ R \ N";
$ .= сообщение "Нажмите на эту ссылку для активации вашей учетной записи \ R \ N";
$ сообщение .= "Это связь с истекал, когда я чувствую себя уборку из неподтвержденных сообщений (каждую неделю или около того) \ R \ N";
$ сообщение .= "http://www.shortlikeafox.com/simple-email-confirmation-example/index.php?confirm=yes&confirmCode = $ CONFIRMATION_CODE \ R \ N";
$ = отправленные почтой ($ к $ при условии, $ послание, $ заголовок);

); эхо ( "Ваше письмо было отправлено!");

)

)
/ / Если пользователь нашел этот скрипт с помощью ссылки в электронной почте, подтверждение ....
[ 'confirm' ] == "yes" ){ ELSEIF (@ $ _GET [ 'подтвердить'] == "да") (
/ / Сделать confirmCode относительно безопасно использовать

[ 'confirmCode' ]); $ confirmCode = mysql_real_escape_string (@ $ _GET [ 'confirmCode']);

$ запрос = "SELECT * FROM emailConfirmationTable ГДЕ con_code = '$ confirmCode' И is_confirmed ='0 '";
( "Error 234234" ); $ результат = mysql_query ($ запроса) или умереть ( "Ошибка 234234");
$ nrows = mysql_num_rows ($ результата);
1){ если ($ nrows == 1) (
$ запрос = "UPDATE emailConfirmationTable SET is_confirmed ='1 'WHERE con_code =' $ confirmCode";
( "Config Error 222231231233 " ); $ результат = mysql_query ($ запроса) или умереть ( "Ошибка конфигурации 222231231233");
если ($ результата)
); эхо ( "EMAIL ПОДТВЕРДИЛ!!!");

)
еще

); эхо ( "Не удалось подтвердить Email");

)

?>

Очень важно помнить, чтобы проверить информацию о том, что пользователь вставляет в любой форме. Я не включает функции для подтверждения адреса электронной почты, но хорошее место, чтобы начать это Cal Хендерсон электронного подтверждения функции найти здесь.

Если вы хотите посмотреть этот скрипт в действии, вы можете сделать это здесь.

Как вручную Включить группы пользователей SMF форум Использование PHP

Опубликовано в SMF (Simple Машина форум), PHP на ShortLikeAFox от 30 июля 2008

В этом руководстве предполагается, что вы знакомы с моей должности: Как вручную включить пользователя SMF форум помощью PHP.

Недавно я столкнулся с проблемой перемещения 800 или около того полосах из базы данных в SMF форум. Я столкнулся с парой проблем при переезде, что я не охватывают в первую должность:

  1. Полоса имена не были гарантированы безопасность для посимвольно перейти в SMF данных. Поэтому какой-то изменить имя функции должно быть занято.
  2. Полос не имеют паролей. Поэтому какой-либо пароль поколение должно быть занято.

Эти шаги я ходил регистрировать все полосы в форуме пошли мало так:

Открытая база данных Band

за каждый (Band) (

Сгенерировать пароль

Переименовать Band с "безопасными" имя

Хватай и накопления информации, необходимой для вставки пользователя

Включить Band в smf_members

Band Отправить письмо с паролем

)

Информация я можно получить диапазон данных, которая является полезной включали: bandName, bandEmail и bandWebsite

Вот функция генерации паролей я использовал (blatently взяты из totallyphp.co.uk):

Функция createRandomPassword () (

$ символов = "abcdefghijkmnopqrstuvwxyz023456789";

() * 1000000); srand ((двухместный) microtime () * 1000000);

$ I = 0;

$ передвинуйте = ";



а ($ I <= 7) (

33; $ NUM = RAND ()% 33;

$ TMP = substr ($ символы, $ NUM, 1);

$ передвинуйте = $ пасс. $ TMP;

$ I + +;

)

вернуть $ проход;

)

Пароль создали здесь сравнительно слабы, но он был достаточно хорош для моих целей. Любая генерация паролей функция будет работать штрафом здесь. Я выбрал это потому, что это будет легко для членов запомнить, если они решили не изменять его.

Как это сделать:

/ / Первые подключения к базе данных полоса
Имя пользователя $ = "bandUsername";
$ принимающей = "bandHost";
$ MyPassword = "bandPassword";
$ DB_NAME = "bandDatabase";

("cannot connect to server"); mysql_connect ( "$ хост", "$ имя пользователя", "$ MyPassword") или умереть ( "не могу подключиться к серверу");
("cannot select DB"); mysql_select_db ( "$ DB_NAME") или умереть ( "Невозможно выбрать БД");

/ / Теперь захватывать все полосы из базы данных
$ запрос = "SELECT * FROM allBands";
$ полос = mysql_query ($ запроса) или умереть ( "Ошибка конфигурации 2222b");
$ userRows = mysql_num_rows ($ полос);

/ / Теперь позволяет подключаться к БД SMF
$ принимающей = "smfhost"; / / Имя хоста
Имя пользователя $ = "smfuser; / / MySQL имя пользователя
$ MyPassword = "smfpassword"; / / MySQL пароль
$ DB_NAME = "smfdatabase"; / / имя базы данных

("cannot connect to server"); mysql_connect ( "$ хост", "$ имя пользователя", "$ MyPassword") или умереть ( "не могу подключиться к серверу");
("cannot select DB"); mysql_select_db ( "$ DB_NAME") или умереть ( "Невозможно выбрать БД");

/ / $ vaild_chars будет массив разрешенных символов для пользователей. Я решил позволить только буквы и цифры. Есть и другие символы, которые можно использовать, что бы не вызвать проблемы, но по стилю причин я решил пойти с только буквы и цифры
$ valid_chars = "abcdefghijklmnopqrstu vwxyz 0 1 2 3 4 5 6 7 8 9";
$ valid_chars = взорваться ( "", $ valid_chars);

/ / Теперь нам необходимо петле в каждом диапазоне

){ за ($ i = 0; $ I <$ userRows; $ I + +) (

($bands)){ если ($ подряд = mysql_fetch_assoc ($ полос)) (

/ / Извлечение информации полоса
Экстракт ($ строка);
/ / Создать пароль для полосы
$ realPassword = createRandomPassword ();
/ / Я выбрал бы повторить bandname и пароль, а часть моей отладки и так я вижу, как функция работает
эхо ( "<br/> $ bandName - $ realPassword");
$ newBand = "";
/ / Для каждого письма в полосе название мы собираемся смотреть, чтобы, если он совпадает с действительным характером от $ valid_chars. Это не мы собираемся, чтобы избавиться от ее и обрезать полосы имя
($bandName); $j ++ ){ за ($ J = 0; $ J <strlen ($ bandName); $ J + +) (

($band[$j])); $ Temp = str_replace ($ valid_chars, "X", strtolower ($ полосы [$ J]));
если ($ Temp == "X")

newBand $ = $ newBand. диапазоне $ [$ J];

)
/ / Я поддерживаю новое название для этой же причине я поддерживаю старые имя и пароль
эхо ( "- $ newBand");
/ / У нас есть новое название группе .... Теперь давайте начнем buliding информацию нужно включить в базу данных ...
memberName $ = $ newBand;
realName $ = $ newBand / / Я реальное имя и имя то же самое. Полос может измениться, если они хотят
emailAddress $ = $ bandEmail;
websiteUrl $ = $ bandWebsite / / Со мною полосах сайта могут также войти в них
websiteTitle $ = $ newBand;
$ is_activated = 1;
$ ID_POST_GROUP = 4;
($memberName).$realPassword); //Password must be encrypted $ Password = SHA1 (strtolower ($ memberName). realPassword $) / / Пароль должен быть зашифрован

/ / Убедитесь, что не является членом их с тем же именем в SMF данных. Мы не хотим никого вводить случайно два раза
$ запрос = "SELECT * FROM smf_members ГДЕ memberName = '$ memberName";
("Config Error 2222343242b"); $ результат = mysql_query ($ запроса) или умереть ( "Ошибка конфигурации 2222343242b");
$ nrows = mysql_num_rows ($ результата);

/ / Если имя найдено ничего не делать
если ($ nrows> 0) ()

еще (

/ / Если пользователь еще не зарегистрировались на форуме, сделать это, и отправить по электронной почте ....
$ запрос = "INSERT INTO smf_members (memberName, realName, emailAddress, is_activated, ID_POST_GROUP, пароль, websiteUrl, websiteTitle) VALUES ( '$ memberName', '$ realName', '$ emailAddress',' $ is_activated ',' $ ID_POST_GROUP ' , '$ пароль', '$ websiteUrl', '$ websiteTitle') ";

("Config Error 2232 "); $ результат = mysql_query ($ запроса) или умереть ( "Конфигурация Ошибка 2232");

/ / Теперь мы должны направить группу по электронной почте
= $ до $ emailAddress;
$ SUBJECT = "Ваш форум, имя пользователя и пароль";

/ / С
$ = заголовок "От: Me <me@mysite.com>";

/ / Ваше сообщение
$ .= сообщение "Ваш логин и пароль, перечислены ниже. Вы можете либо изменить в любой момент. Если вы не хотите участвовать в наших форумах, это не проблема. Просто никогда не войти, и он будет, как ничего не произошло . \ R \ N ";
$ .= сообщение "Имя пользователя: $ memberName Пароль: $ realPassword \ R \ N";

/ / Написать письмо
$ = отправленные почтой ($ к $ при условии, $ послание, $ заголовок);
если ($ отправленные)

эхо ( "- ДА!");
/ / Это последняя часть нашей эхо. "-ДА!" будет только печатные, если сообщение отправляется. Поэтому полная распечатка строке будет выглядеть так:
/ / Адам волнений - 4s6vsxag - AdamStrife - ДА!

)

)
)

Как вручную включить пользователя SMF форум Использование PHP

Опубликовано в SMF (Simple Машина форум), PHP на ShortLikeAFox от 28 июля 2008

Этот конкретный пример для SMF 1.1.5. Я не могу гарантировать это будет работать с любой другой версии.

Таким образом вы запускаете Простые машины форум программного обеспечения и хотят ввести пользователя? Нет проблем. Я знаю, эта проблема представляется весьма конкретной, но идеи, пояснил здесь могут быть адаптированы для других типов форумов и других баз данных по инициативе программных пакетов, таких, как Wordpress. Перед тем как попасть в точности, как это сделать, давайте взглянем на то, как простые машины Форумы отслеживает пользователей. В SMF данных есть таблицы называется smf_members. Smf_members структура выглядит следующим образом:

Поле Печатать Нуль

Ключ По умолчанию Экстра
ID_MEMBER mediumint (8) неподписанными НЕТ PRI NULL auto_increment
memberName VARCHAR (80) НЕТ MUL
dateRegistered INT (10) неподписанными НЕТ MUL 0
должности, mediumint (8) неподписанными НЕТ MUL 0
ID_GROUP SMALLINT (5) неподписанными НЕТ MUL 0
lngfile tinytext НЕТ MUL
lastLogin INT (10) неподписанными НЕТ MUL 0
realName tinytext НЕТ
instantMessages SMALLINT (5) НЕТ 0
unreadMessages SMALLINT (5) НЕТ 0
buddy_list Текст НЕТ
pm_ignore_list Текст НЕТ
messageLabels Текст НЕТ
пароль VARCHAR (64) НЕТ
emailAddress tinytext НЕТ
personalText tinytext НЕТ
пол tinyint (4) неподписанными НЕТ 0
Дата рождения свидание НЕТ MUL 0001-01-01
websiteTitle tinytext НЕТ
websiteUrl tinytext НЕТ
местонахождение tinytext НЕТ
ICQ tinytext НЕТ
AIM VARCHAR (16) НЕТ
YIM VARCHAR (32) НЕТ
MSN tinytext НЕТ
hideEmail tinyint (4) НЕТ 0
showOnline tinyint (4) НЕТ 1
timeFormat VARCHAR (80) НЕТ
подпись Текст НЕТ
timeOffset поплавковый НЕТ 0
Аватара tinytext НЕТ
pm_email_notify tinyint (4) НЕТ 0
karmaBad SMALLINT (5) неподписанными НЕТ 0
karmaGood SMALLINT (5) неподписанными НЕТ 0
usertitle tinytext НЕТ
notifyAnnouncements tinyint (4) НЕТ 1
notifyOnce tinyint (4) НЕТ 1
notifySendBody tinyint (4) НЕТ 0
notifyTypes tinyint (4) НЕТ 2
memberIP tinytext НЕТ
memberIP2 tinytext НЕТ
secretQuestion tinytext НЕТ
secretAnswer VARCHAR (64) НЕТ
ID_THEME tinyint (4) неподписанными НЕТ 0
is_activated tinyint (3) неподписанными НЕТ 1
validation_code VARCHAR (10) НЕТ
ID_MSG_LAST_VISIT INT (10) неподписанными НЕТ 0
additionalGroups tinytext НЕТ
smileySet VARCHAR (48) НЕТ
ID_POST_GROUP SMALLINT (5) неподписанными НЕТ MUL 0
totalTimeLoggedIn INT (10) неподписанными НЕТ 0
passwordSalt VARCHAR (5) НЕТ

Поля мы должны обращать внимание на:

  • memberName - Self Explanitory.
  • dateRegistered - не является необходимым, но, если не заполнены дата зарегистрированных дисплеи, как 31 декабря 1969. Дата сохраняется в эпоху времени. Не знаю, как для расчета времени в вашей голове? Нет проблем. Я использую бесплатно генератор найти здесь.
  • realName - должна быть установлена. Когда я не уверен, что я просто повторяю memberName здесь.
  • emailAddress - Self Explanitory.
  • is_activated - должны быть установлены к 1, так как мы вручную активировать член.
  • ID_POST_GROUP - Я не буду лгать. Я не уверен, что это такое, но он всегда, как представляется, будет установлен на 4. Так .... Я всегда его на 4. Не самый лучший путь к программе, но что поделаешь?
  • пароль - пароль вы хотите дать новому пользователю. Невозможно понять, как на въезд, не глядя на SMF документации. Правильный код для шифрования SMF пароль для базы данных, выглядит следующим образом:

($memberName).$password) $ пароль = SHA1 (strtolower ($ memberName). $ пароль)

В приведенной выше строке кода, $ пароля пользователя фактический пароль.

Как это сделать:

/ / Во-первых, подключение к базе данных SMF

$ принимающей = "имя"; / / Имя хоста
Имя пользователя $ = "Имя пользователя"; / / MySQL имя пользователя
$ MyPassword = "пароль"; / / MySQL пароль
$ DB_NAME = "Имя пользователя"; / / имя базы данных

("cannot connect to server"); mysql_connect ( "$ хост", "$ имя пользователя", "$ MyPassword") или умереть ( "не могу подключиться к серверу");
("cannot select DB"); mysql_select_db ( "$ DB_NAME") или умереть ( "Невозможно выбрать БД");

$ memberName = "ironMan";
$ realName = "Тони Старка";
$ emailAddress = "ironMan@ironMan.com";
$ is_activated = 1;
$ ID_POST_GROUP = 4;

$ Password = "Tony1234";

($memberName).$password); $ Password = SHA1 (strtolower ($ memberName). $ паролем);

$ dateRegistered = 1216951200 / / 7-25-2008 2 AM

$ запрос = "INSERT INTO smf_members (memberName, realName, emailAddress, is_activated, ID_POST_GROUP, пароль, dateRegistered) VALUES ( '$ memberName', '$ realName', '$ emailAddress',' $ is_activated ',' $ ID_POST_GROUP ',' $ пароль ',' $ dateRegistered ') ";
("SMF Error 101.234 "); $ результат = mysql_query ($ запроса) или умереть ( "Ошибка SMF 101,234");

Это все есть в этом!

Как сделать эскиз изображения с помощью PHP

Опубликовано в функции PHP по ShortLikeAFox от 22 июля 2008

Таким образом, вы хотите создать эскиз с учетом образа ... PHP делает эту задачу легко. Сначала я написал функцию, чтобы заниматься изображения загружаются пользователями на сайте мне помочь управлять. Загруженные изображения на этом сайте, могут быть в формате JPEG, pngs или Gifs, поэтому мне пришлось написать функцию, заниматься всеми тремя. Этот код изначально основаны офф функции найти на webcheatsheet.com

Как это сделать:

Функция createThumbs ($ pathToImages, $ fname, $ pathToThumbs, $ thumbWidth)
(

/ / Разбор пути для расширения

$ Info = pathinfo ($ pathToImages. $ fname);
/ / Продолжаться, только если это JPEG изображений
($info['extension']) == ‘jpeg’) ) если ((strtolower ($ Info [ 'расширение']) == 'JPG') | | (strtolower ($ Info [ 'расширение']) == 'JPEG'))
(

/ / Загрузить изображение и получить изображение размером
$ IMG = imagecreatefromjpeg ( "$ pathToImages () () $ fname");
$ = ширина imagesx ($ IMG);
$ высота = imagesy ($ IMG);

/ / Подсчитать размер эскизов
new_width $ = $ thumbWidth;
$ = new_height этаж (высота * $ ($ thumbWidth / $ ширина));

/ / Создать новую временную изображений
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / Копировать и изменять старые изображения в новом образе
imagecopyresized ($ tmp_img, $ IMG, 0, 0, 0, 0, $ new_width, $ new_height, $ ширина, $ высота);

/ / Сохранить миниатюру в файл
imagejpeg ($ tmp_img, "($ pathToThumbs) () $ fname");

)

если (strtolower ($ Info [ 'расширение']) == 'GIF')
(

/ / Загрузить изображение и получить изображение размером
$ IMG = imagecreatefromgif ( "($ pathToImages) () $ fname");
$ = ширина imagesx ($ IMG);
$ высота = imagesy ($ IMG);

/ / Подсчитать размер эскизов
new_width $ = $ thumbWidth;
$ = new_height этаж (высота * $ ($ thumbWidth / $ ширина));

/ / Создать новую временную изображений
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / Копировать и изменять старые изображения в новом образе
imagecopyresized ($ tmp_img, $ IMG, 0, 0, 0, 0, $ new_width, $ new_height, $ ширина, $ высота);

/ / Сохранить миниатюру в файл
imagegif ($ tmp_img, "($ pathToThumbs) () $ fname");

)

если (strtolower ($ Info [ 'расширение']) == 'PNG')
(

/ / Загрузить изображение и получить изображение размером
$ IMG = imagecreatefrompng ( "($ pathToImages) () $ fname");
$ = ширина imagesx ($ IMG);
$ высота = imagesy ($ IMG);

/ / Подсчитать размер эскизов
new_width $ = $ thumbWidth;
$ = new_height этаж (высота * $ ($ thumbWidth / $ ширина));

/ / Создать новую временную изображений
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / Копировать и изменять старые изображения в новом образе
imagecopyresized ($ tmp_img, $ IMG, 0, 0, 0, 0, $ new_width, $ new_height, $ ширина, $ высота);

/ / Сохранить миниатюру в файл
imagepng ($ tmp_img, "($ pathToThumbs) () $ fname");

)

)

Как это работает

Функция createThumbs принимает четыре аргумента.

  • $ pathToImages -> Путь к папке образа файла дюйм Она может выглядеть примерно так: / Главная страница / Содержание / имя пользователя / HTML / список / добавления /
  • $ fname -> Имя файла: pic1.gif, johnny.jpg, и т.д. ...
  • $ pathToThumbs -> Путь к папке нужно эскиз изображения на дюйм быть вы не хотите, это такой же путь, как $ pathToImages, так как эскиз изображения будут иметь одно и то же имя, что и в оригинальном изображении.
  • $ thumbWidth -> Ширина, что вы хотите, чтобы изображение, чтобы быть в пикселях.

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

Первое, что createThumbs () делает это слово pathinfo (). pathinfo () перерывы части пути в массив. Это полезно для нас, потому что нам необходимо расширение файла правильно создать эскиз. Далее createThumbs () проверяет, чтобы, если мы имеем дело с JPEG. Если исходный файл JPEG createThumbs создает новый имидж основан на исходном изображении с imagecreatefromjpeg (). Следующий шаг заключается в том, чтобы ширина и высота этого изображения (imagesx (), imagesy ()). Использование $ thumbWidth и соотношения первоначальной ширины и высоты createThumbs () устанавливает новый ширина и высота изображения. Используя эти новые коэффициенты createThumbs () создает "пустые" изображение, что будет такой же ширины и высоты с миниатюрами imagecreatetruecolor (). Imagecopyresized () используется для изменения размера изображений и сохранить его в "пустой" только создается. imagecopyresized () может показаться, как он занимает очень много параметров, но если вы посмотрите в документации, он действительно не так сложно. Теперь, когда эскиз существует как истинный цвет изображения всех createThumbs нужно сделать, это конвертировать файл в формате JPEG. Для этого imagejpeg () называется.

Вот как функция работает на формате JPEG. Существуют разногласия по минимальным. Pngs и. Gifs.


« Previous entries