Система за изпращане на картички.
Публикувана от ko6rata на January 19 2011 10:38:52

Разширена новина
Ще опиша накратко използването на класа Greeting, чрез който може да си направим система за изпращане на картички.
Два са начините за това.
Изпращане на картичка във HTML форма. (html формат)

Съхраняване на картичката в сървар, но изпращане на съобщение къде може да бъде открита. (text фромат)

Класът, от който се нуждаем е на този адрес и може да се изтегли абсолютно безплатно:
http://www.phpclasses.org/browse/package/3026.html

Първото нещо, което трябва да направим е да заредим въпросния клас.

// В зависимост коя версия на php използвате.
require('php4/class.greeting.php');
или
require('php5/class.greeting.php');

Много е важно да зададем точно пътя до снимките(картичките), който са налични.

/**
* Път до снимките
* @var string
*/
$gc_url_path = 'http://www.мойсайт.com/greeting/images';

След това задаваме заглавие на писмото, което ще изпращаме.
/**
* Заглавие на съобщението
* @var string
*/
$subject = Поздравителна картичка от ' . $Име_на_изпращач;

Ако ще изпращаме картичка във “text” формат, ще ни е нужно уникално име за файла, в който ще се съхранява тя. Ако е във вид на “html”, нямаме нужда от него.

/**
* Случайно име на файл
* @var string
*/
$random_file_name = md5(time());

/**
* Текст, който може да добавим пожелание, към тялото на съобщението
* @var string
*/

Допълнителен текст при “html” формат:

$add_txt = '<p align="center">Изпратете поздравителна картичка от <a xhref="www.моятсайт.com">www. моятсайт.com</a><p>';
Допълнителен текст при “text” формат.
$add_txt = „Имате поздравителна картичка, която може да е видите на този адрес: [URL път]/' . 's_greeting/' . $random_file_name . '.html';

Идва ред за създаване на обект.

/**
* Създаване на обект greeting
* @var object
*/
$greeting = new Greeting($път_до_картичките . $име_на_файла);

След като сме създали обекта е време да зададем необходимите стойности на атрибутите му, които са нужни за изграждане на картичката.

/**
* Инициализиране на атрибутите на обекта
*/

/**
* Цвят на фона
* @var string
*/
$greeting->mBg = „#FFFFFF”

/**
* Цвят на текста
* @var string
*/
$greeting->mTextColor = “#000000”

/**
* Име на шрифт
* @var string
*/
$greeting->mTextFont = “Verdana”

/**
* Размер на текста
* @var mixed
*/
$greeting->mTextSize = “medium”

/**
* Стил на текста
* @var string
*/
$greeting->mTextStyle = „bold”
/**
* Позиция на текста
* @var string
*/
$greeting->mTextPos = „left”

/**
* Tекст
* @var mixed
*/
$greeting->mText = “Здравейте! Радвам се че мога да помогна с нещо.”

/**
* Име на изпращача
* @var string
*/
$greeting->mSendFromName = „Токата Ноооб”

/**
* Електронен адрес на изпращача
* @var string
*/
$greeting->mSendFromMail = „аз@хост.com”

/**
* Получател
* @var string
*/
$greeting->mSendToMail = „ти@хост.com”

/**
* Заглавие на съобщението
* @var mixed
*/
$greeting->mSubject = „Имате поздравителна картичка от” . „Името на изпращача”

/**
* Допълнителен текст към съобщението добавен от нас
* @var mixed
*/
$greeting->mAddTxt = „Изпратете поздравителна картичка от www.моясайт.com”

/**
* Tипа_на_картичката (html or text)
* @var string
*/
$greeting->mType = “html”;

Идва моментът на истината. Сега ще изпратим картичката.

Ако ще пращате в text форма ще трябва да извлечете съдържанието и да го запишите на диска, примерно по този начин:

// Създаваме файл, който съдържа поздравителната картичка в директория s_greeting с уникално име.
if (!$handle = fopen('s_greeting/' . $random_file_name . '.html',"a")) {
echo "Не може да се създадем файла ('s_greeting/' . $random_file_name . '.html')";
exit;
}

if (fwrite($handle, $greeting->GetCard()) === FALSE) {
echo "Не може да се запише файла ('s_greeting/' . $random_file_name . '.html')";
exit;
}
fclose($handle);

Ако ще изпащате в “html” формат не се нуждаете от извличане и създаване на файлове, в който се съдържа поздравителната картичка. Може направо да я изпратим на получателя.

Изпращането става по този начин:

if(empty($greeting->mError)) {

if($greeting->SendCard() === true) {
echo „Успешно изпратихте поздравителната картичка”';
} else {
$greeting->ShowErrors();
}// if($greeting->SendCard() === true) {

} else {
$greeting->ShowErrors();
}// if(empty($greeting->mError)) {