Программирование

все что связано с программированием — уроки, примеры

Функция форсированной загрузки файлов

 Программирование, Скрипты - полезные и не очень  Комментарии к записи Функция форсированной загрузки файлов отключены
Окт 262011
 

Функция дает возможность создавать принудительную загрузку (скачивание) файла браузером.
Для чего нужно: у вас есть файл, например картинка, которую браузер по умолчанию просто откроет в себе, вам же нужно дать пользователю ее загрузить на свой компьютер.

Все что нужно указать — это путь к файлу, который нужно загрузить.

Приятного использования! Continue reading »

.
 Опубликовано в 6:13 пп

Реализация ЧПУ для сайта

 Программирование  Комментарии к записи Реализация ЧПУ для сайта отключены
Авг 122011
 

Сегодня поговорим о том, как реализовать человекопонятные URL, а точнее, мы поговорим о том, как я это делаю.

Не будем вдаваться в споры — лучше или хуже, просто сразу к делу.

Итак. Для того, чтобы сделать ЧПУ нам необходимо прийти к общему знаменателю, а именно:
— данные хранятся в базе данных (субд MySQL)
— данные имеют уникальный идентификатор (id), являющийся полем int AUTO INCREMENT
— для отображения содержимого на странице мы используем строку GET типа index.php?id=3, само собой, как называть переменные — не имеет значения. Continue reading »

Проверка полей в цикле JavaScript

 Программирование  Комментарии к записи Проверка полей в цикле JavaScript отключены
Авг 112011
 

Вчера появилась задача: проверить перед отправкой форму, на предмет заполненности полей формы. Задача, в принципе, не сложная, если бы поля формы не генерировались динамически, и не имели имена типа field[].

Для такой проверки нам нужно создать цикл, перебирающий все поля с определенными именами, и проверяющий их значение — пусто / не пусто. Continue reading »

Отключить textarea — TinyMce (баг)

 Программирование  Комментарии к записи Отключить textarea — TinyMce (баг) отключены
Авг 102011
 

Недавно делал небольшие правки в движке, понадобилось задавать tinymce по умолчанию для всех textarea, т.к. прописывать id полей, для которых нужно подгружать редактор уже было нельзя: из-за введения в движок многоязычности, textarea генерируются динамически.

Однако, отключать в некоторых textarea мне все-таки нужно было, порылся и нашел: дописываем в инициализацию tinymce код Continue reading »

 Опубликовано в 7:19 пп
Авг 102011
 

Вобщем, для себя задачу автоматизированной смены кодировки во всех файлах я не решил, но все же расскажу о софтинке.
http://www.rotatingscrew.com/utfcast-professional.aspx
берем здесь. Continue reading »

 Опубликовано в 1:30 пп

Функция substr() и UTF-8

 Программирование  Комментарии к записи Функция substr() и UTF-8 отключены
Авг 092011
 

После перевода своего движка на utf я понял что и там не все гладко..
Делал выборку записей из бд в сокращенной виде с помощью функци substr(), и в половине случаев получал на месте обрезания знак вопроса в ромбике Continue reading »

 Опубликовано в 4:48 пп

Функция транслита

 Программирование  Комментарии к записи Функция транслита отключены
Авг 062011
 

Очень простое и лаконичное решение по транслитерации. Себе делал для формирования ссылки из названия (на русском). Старая функция отказывалась работать, после того как я перевел свой движок на UTF, так и не понял почему, если честно. Continue reading »

 Опубликовано в 4:55 пп

Скрипт загрузки файлов

 Программирование, Скрипты - полезные и не очень  Комментарии к записи Скрипт загрузки файлов отключены
Июл 212011
 

Собственно, полноценный скрипт, который можно скачать (для ленивых:), я не делал, но подробно опишу что и как.
Итак, написана функция загрузки файлов Continue reading »

Июл 142011
 

Регулярные выражения — одно из моих слабых мест, думаю будет разумно собрать все в кучу, и периодически обновлять новыми. Итак:

Вытащить расширение файла

echo preg_replace("/.*?\./", '', 'file.txt'); // получим txt

Получить все, что находится между тегами

$str='<tag>some text</tag><tag>some text2</tag>';
$str2 = preg_match('|<tag.*>(.*)</tag>|sei', $str, $res);
echo  $res[1]; // получим some text

Continue reading »