CakePHP без базы данных

Веб-разработка Комментариев нет »

CakePHP без базы данныхЧасто видел в интернете упреки в сторону CakePHP в том смысле, что ему для работы обязательно нужна база данных, и это, мол, великое зло. Как-то не обращал внимания на данные утверждения (и правильно делал), так как всегда использовал базу данных. Но вот случилась необходимость сделать сайт на CakePHP без БД (временный сайт, со статикой, в будущем подразумевающий развитие до использования базы). В русскоязычной части интернета не удалось найти решения этой задачи (ясно примерно как это сделать, но хочется готового :) ), к счастью, на англоязычном блоге был найден ответ.

Итак, приступим.
Читать полностью »

1 звезда2 звезд3 звезд4 звезд5 звезд (3 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...

Отсылка e-mail через C#

C# Комментарии (14) »

Отсылка e-mail через C#Этот кусок кода показывает, как можно программно отослать электронное письмо средствами C#. Письмо отсылается через указанный SMTP-сервер, который требует авторизацию. Так же к письму можно прикрепить одно или несколько вложений.

//Адрес SMTP-сервера
String smtpHost = "SMTP.SERVER.RU";
//Порт SMTP-сервера
int smtpPort = 25;
//Логин
String smtpUserName = "LOGIN";
//Пароль
String smtpUserPass = "PASSWORD";

//Создание подключения
SmtpClient client = new SmtpClient(smtpHost, smtpPort);
client.Credentials = new NetworkCredential(smtpUserName, smtpUserPass);

//Адрес для поля "От"
String msgFrom = "LOGIN@SERVER.RU";
//Адрес для поля "Кому" (адрес получателя)
String msgTo = "KUDA@TO.RU";
//Тема письма
String msgSubject = "Письмо от C#";
//Текст письма
String msgBody = "Привет!\r\n\r\nЭто тестовое письмо\r\n\r\n--\r\nС уважением, C# :-)";
//Вложение для письма
//Если нужно больше вложений, для каждого вложения создаем свой объект Attachment с нужным путем к файлу
Attachment attachData = new Attachment("D:\Тестовое вложение.zip");

//Создание сообщения
MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
//Крепим к сообщению подготовленное заранее вложение
message.Attachments.Add(attachData);

try
{
    //Отсылаем сообщение
    client.Send(message);
}
catch (SmtpException ex)
{
    //В случае ошибки при отсылке сообщения можем увидеть, в чем проблема
    Console.WriteLine(ex.InnerException.Message.ToString());
}

Тело письма и его заголовок будут созданы и отосланы в кодировке - UTF-8. Если же захочется отослать письмо в кодировке windows-1251, то начинаются проблемы. Мне удалось найти только одно достаточно подробное описание этой проблемы. И в более свежих версиях фреймворка (помимо .Net Framework 2.0) точно такая же проблема.
Читать полностью »

1 звезда2 звезд3 звезд4 звезд5 звезд (8 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...

MySql и русская кодировка

Веб-разработка Комментарии (20) »

Проблема возникает, если вы работаете с кодировкой, отличной от UTF-8, и храните в базе данных тексты, к примеру, в кодировке cp1251. Но MySql не всегда использует по умолчанию кодировку cp1251, в частности, не всегда по умолчанию используется эта кодировка для соединений с базой. Из-за этого возникают ситуации, когда в базе тексты хранятся в нормальном читабельном виде, но при выводе этих данных на сайт появляются одни лишь “кракозяблы” (знаки вопросов вместо букв – “?????????? ????”).
Читать полностью »

1 звезда2 звезд3 звезд4 звезд5 звезд (10 голосов, средний: 4.30 из 5)
Загрузка ... Загрузка ...

Конвертация времени

C# Комментарии (3) »

Иногда нужно конвертировать время из System.DateTime в UNIX timestamp или наоборот.
Читать полностью »

1 звезда2 звезд3 звезд4 звезд5 звезд (4 голосов, средний: 2.25 из 5)
Загрузка ... Загрузка ...

Поиск без учета регистра

Веб-разработка Комментарии (4) »

Как-то раз проглядел, что у меня в базе данных сравнение строк было регистро-зависимым (cp1251_general_cs). К примеру, при запросе:

SELECT * FROM name_table WHERE name LIKE '%Слово%'

Находились только те записи, в которых буква “С” была большой, а все остальные буквы должны были быть в нижнем регистре.

Чтобы произвести регистро-независимый поиск нужно было делать следующий запрос:

SELECT * FROM name_table WHERE name LIKE '%Слово%' COLLATE cp1251_general_ci
1 звезда2 звезд3 звезд4 звезд5 звезд (6 голосов, средний: 4.50 из 5)
Загрузка ... Загрузка ...

Тема для WP & Иконки от N.Design Studio. Локализация Mywordpress.ru
Записи в RSS Комментарии в RSS Вход