Рейтинг
0.00
голосов: 0

О блоге

В этом блоге рекомендую публиковать статьи про вёрстку, html, css. Статьи, которые посвящены тем частям сайта или приложения, которые видят пользователи.

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (3)

Maugli AndreyART a1ex

ЧПУ для OpenCart и Ошибка 500 Internal Server Error

В процессе работы над одним из проектов, магазин на OpenCart, при включении ЧПУ возникла ошибка «500 Internal Server Error», сразу же оговорюсь, что магазин хоститься на «hosting ukraine».

Как-то сразу вспомнилось, что данная проблема возникает не первый раз и решение находилось в FAQ хостинга, собственно говоря, там оно и нашлось. Лично мне хватило заменить в файле .htaccess директиву Options +FollowSymLinks на Options +SymLinksIfOwnerMatch, если вдруг данное решение проблемы не помогло, то вот ссылка на полный материал: Ошибка 500 Internal Server Error

Автоматическое удаление временных файлов

Доброе зимнее утро всем читателям!
Скажу сразу, если у Вас есть опыт разработки приложений (сайтов) на PHP, скорее всего, Вы не найдёте в этой статье ничего нового. Но, если вы только учитесь, то моя идея может пригодится в дальнейшем.

Добавлю, что идея не проходила глубокий анализ (самому смешно) и оптимизацию. И написана за 5 минут из того, что первое пришло в голову. Итак, начнём.

Для чего нужно автоматическое удаление временных файлов?
Представим, что у меня сайт, который наполняют одновременно несколько человек (например — интернет магазин). Каждый товар имеет своё уникальное изображение, которое загружается до заполнения всех данных статьи. Иными словами, не во время Submit формы.

Так случилось, что временные изображения имеют имя, генерируемое PHP функцией uniqid().
uniqid('tmp_');
Имя файлов получается такие tmp_510a2c367f6a1.jpeg и сохраняются в отдельной папке. После сохранения товара, они переносятся с нужным именем в папку с изображениями товаров.

Бывает, что редакторы, не завершают добавления товара по различным причинам и временные файлы остаются. Так как наш товар, это изображения с высоким разрешением, средний временный файл может занимать на диске до 20Мб. Согласитесь, что мусорник папка с временными файлами очень скоро будет занимать много места.


Функция автоматического удаления временных файлов

Быстрый генератор паролей на PHP

Быстрый генератор паролей на PHP

Что же я имею ввиду, спросите Вы? Это очень просто. Например, Вам нужно создать временный пароль для регистрации пользователя, который он потом поменяет, или не поменяет. Так что нужно, чтоб пароль был не совсем простой.

В сети много различных способов генерации паролей. Но, я хочу предложить свой, очень маленький по коду и простой!

Что используем для генерации пароля?
Для создания паролей будем использовать две PHP функции:
uniqid — Генерирует уникальный ID
str_shuffle — Переставляет символы в строке случайным образом

Для небольшого усложнения пароля, предлагаю добавить к генерируемой строки несколько символов, например — tmpPaSs

Пример:
$pass = str_shuffle(uniqid('tmpPaSs'));

Результаты данной операции будет приблизительно такие:
1mtcS5a885d776spP9f0
675ma71StPp9095014s6
67btsPa07f4e9mp951S1


Делаем пароль сложнее...

Обязательный выбор select при помощи атрибута required в HTML5

Многие вебмастера уже давно используют HTML5 в вёрстке своих сайтов. Не секрет, что HTML5 открывает нам некоторые удобства, при проверке ввода данных формы.

Одним из удобств является атрибут required. При его использовании форма не будет отправлена, если элемент с атрибутом required не заполнен.

select при помощи атрибута required в HTML5
С элементами input всё просто, но как быть с select. А очень просто, нужно указать первому (не результативному элементу) значение — «пусто».

Чтоб было проще понять, перейдём к примеру:
<select name="client[pay]" required="">
     <option value="">Выберите вариант оплаты</option>
     <option value="1">Оплата при получении</option>
     <option value="2">Оплата картой VISA / MASTERCARD</option>
</select>
В данном случае, по умолчанию будет выбран выриант
<option value="">Выберите вариант оплаты</option>
с пустым значением value="", а значит и валидатор HTML5 сработает правильно.

Скачать файлы используя дерево сайта HTTP, при помощи утилиты wget

Недавно я писал статью, как скачать файлы списком.

Но, что делать, если этого списка нет, а есть список каталогов структуры сайта, который можно получить по ссылке HTTP или FTP. Например http://ftp.ua.debian.org/debian/tools/

Воспользуемся «любимой» утилитой WGET.
Немного почитав инструкцию, понимаем, что нам нужно получить список по ссылке и рекурсивно его загрузить. Что значит рекурсивно? Простыми словами это значит, что нужно создать дерево каталогов и загрузить все файлы из этих каталогов.

Вот пример, для ссылки выше:
wget --random-wait -r -F http://ftp.ua.debian.org/debian/tools/

После выполнения данной команды, Вы получите точную копию папки /debian/tools со всеми файлами.

П.С. --random-wait добавляется для того, чтоб вставлять случайную задержку перед началом загрузки каждого файла. Так Вы не создадите постоянную нагрузку и не будете отфильтрованы автоматическим фильтром хостинг провайдера.

Символ знака вопроса вместо русских букв при загрузке данных из MySQL

Раньше такая проблема попадалась, а сегодня — «на тебе...»! Вместо сокращения «шт» (штук) из базы данных MySQL приходят знаки вопроса. При чём не одинаковые, а разные)) Один просто знак вопроса, второй — знак вопроса в ромбе.

Начал проверять, вроде всё правильно. Файлы проекта utf-8. Кодировка при подключении к базе utf-8.

Но где же проблема?

Избавился от крякозяблов (знаков вопроса) вместо русского текста

Так как сегодня воскресенье и звонить хостерам, скорее всего, бесполезно (поддержка конечно работает, но в выходной день там может быть не совсем адекватный специалист), я решил поискать в сети, как другие решали подобные задачи.

Самое частое решение — поиск нужной кодировки при подключении к MySQL серверу. Сразу скажу, что пользуюсь услугами провайдера HvOSTING.UA. И для моего сервера подошла кодировка latin1 как это и не странно!

Немного кода на PHP для примера. Использую объектную модель mysqli:
$mysqli_object->set_charset('latin1');

Специальные символы для сайта

Увидел на одном из сайтов рекламу от Google с необычными символами в тексте. Заинтересовало… Нашёл в сети чуток и представляю на всеобщее обозрение)

Специальные символы для сайта
(если хотите увеличить, нажмите Ctrl + "+", или Ctrl и крутите колёсико мыши. Всё вернуть как было — Ctrl + 0)

ТОП СИМВОЛОВ


☮ ✈ ♋ 웃 유 ☠ ☯ ♥ ✌ ✖ ☢ ☣ ☤ ❖ Σ ⊗ ♒ ♠ Ω ♤
♣ ♧ ♡ ♦ ♢ ♔ ♕ ♛ ★ ☆ ✮ ✯ ☄ ☾ ☽ ☼ ☀ ☁ ☂ ☃
☻ ☺ ۞ ۩ ♬ ✄ ✂ ✆ ✉ ✦ ✧ ∞ ♂ ♀ ☿ ❤❥ ❦ ❧ ™ ®
© ✗ ✘ ⊗ ♒ ▢ ▲ △ ▼ ▽ ◆ ◇ ○ ◎ ● ◯ Δ ◕ ◔ ʊ
ϟ ღ 回 ₪ ✓ ✔ ✕ ☥ ☦ ☧ ☨ ☩ ☪ ☫ ☬ ☭ ™©® ¿文ஜ ๏


Больше символов...