Default Green Orange
Gemini_13's Blog
Блокнот полезных вещей
Home
    • Карта сайта
    • Обо мне
RSS

Posts Tagged ‘скрипт’

Результат запроса MySQL передать в CSV на PHP

Скрипты 0 Comment »

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

Собственно пример:

$file = '/tmp/stats.csv';
$result = mysql_query("SELECT * FROM managers")
ob_start();
$csv = fopen($file, 'w');
while($row = mysql_fetch_assoc($result))
{
	fputcsv($csv, $row, ';');
}
fclose($csv);
ob_get_clean();

Название папки и файла написано для примера.
Еще одно важное замечание… Для корректного отображения файла в него нужно писать в кодировке cp1251, иначе будут каракули, если БД отдает в другой кодировке (исключение — латинские символы).


Февраль 26th, 2013  
Tags: csv, export, php, php to csv, script, результат в csv, скрипт



Dagon Design Sitemap Generator и qTranslate: решение проблемы

Скрипты 0 Comment »

Для WordPress-а существует замечательный плагин карты сайта, который выводит страницы, записи, категории и тп. Называется он Dagon Design Sitemap Generator. Покорило меня в нем возможность вывода заметок с категорий, до этого я не видел такой возможности в других плагинах (да и не искал особо). Но в нем был один небольшой баг, он не умел работать с плагином qTranslate, который использовался на одном из разрабатываемых мной проектов. Вывод заголовков выглядел таким образом:

<!--:ru-->О нас<!--:--><!--:en-->About us<!--:--><!--:de-->Über uns<!--:-->

Сами видите какой ужас, но на форуме wordpress.org решение уже было. Однако, оставался второй баг — не менялись названия рубрик (категорий) и на этот вопрос ответа я не нашел, но придумал сам.

Все изменения будем делать в sitemap-generator.php.

1. Исправляем ошибки с названиями страниц и заметок:
Найти:

$the_title = htmlspecialchars(trim($page_data[$p]['title']));

Заменить на:

$the_title = htmlspecialchars(trim(__($page_data[$p]['title'])));

Найти:

$the_title = htmlspecialchars(trim($post_data[$p]['title']));

Заменить на:

$the_title = htmlspecialchars(trim(__($post_data[$p]['title'])));

Read the rest of this entry »


Февраль 13th, 2013  
Tags: Dagon Design, php, plugin, qTranslate, script, Sitemap Generator, wordpress, вордпресс, карта сайта, скрипт



Кеширование на TorrentPier II (R461)

Скрипты 0 Comment »

Кеширование в движке TorrentPier II сделать не сложно, разрабы про это позаботились, за что им большое спасибо 🙂 Актуальная ревизия движка на момент написания заметки — R461.

Для работы с кешированием нужно знать всего три строки:

CACHE('bb_cache')->set('название кеша', $инфа, время);
CACHE('bb_cache')->get('название кеша');
CACHE('bb_cache')->rm('название кеша');

1 строка — создает кеш
2 строка — берет инфо с нужного кеша
3 строка — удаляет кеш

Если со второй и третей строкой ясно, то с созданием кеша у кого-то могут возникнуть вопросы.

CACHE('bb_cache')->set('название кеша', $инфа, время);

название кеша — ну, тут ясно. Обозвите кеш так, чтобы названия не повторялись.
$инфа — это та информация, которую мы кешируем
время — количество секунд на хранение кеша
Read the rest of this entry »


Октябрь 4th, 2012  
Tags: cache, mysql, php, torrentpier, кеширование, скрипт



Создаем и удаляем таблицы в MySQL

MySQL, Настройка сервера, Скрипты 0 Comment »

В прошлой статье Создание и удаление баз данных описывалось как создать базу данных. Но, в этой базе нужно создать еще таблицу, собственно с которой мы и будем работать в дальнейшем.

Создание таблицы в базе данных

Создание таблицы производится командой CREATE TABLE.

CREATE TABLE table_name(column_name1 type, column_name2 type,...)

table_name — имя новой таблицы;
column_name — имена колонок (полей), которые будут присутствовать в создаваемой таблице.
type — определяет тип создаваемой колонки.

Пример

Нам нужно создать таблицу телефонных номеров друзей.
Наша таблица будет состоять из трех столбцов: ФИО, адрес и телефон.

CREATE TABLE contacts(fio text, address text, tel text)

В PHP это будет так:

$sql="CREATE TABLE contacts(fio text, address text, tel text)";
mysql_query($sql);

К типу данных можно присоединить модификаторы, которые задают его «поведение» и те операции, которые можно (или, наоборот, запрещено) выполнять с соответстующими столбцами.

not null — означает, что поле не может содержать неопределенное значение, т.е. поле обязательно должно быть инициализировано при вставке новой записи в таблицу (если не задано значение по умолчанию).

Например, для нашей таблицы с телефонами нужно указать, что поле с ФИО друга (поле fio) и его телефоном (поле tel) не может иметь неопределенного значения:

CREATE TABLE contacts(fio text NOT NULL, address text, tel text NOT NULL)

primary key — отражает, что поле является первичным ключом, т.е. идентификатором записи, на который можно ссылаться.

CREATE TABLE contacts(fio text, address text, tel text, PRIMARY KEY (fio))

auto_increment — при вставке новой записи поле получит уникальное значение, так что в таблице никогда не будут существовать два поля с одинаковыми номерами.

CREATE TABLE contacts(fio text AUTO_INCREMENT, address text, tel text)

default — задает значение по умолчанию для поля, которое будет использовано, если при вставке записи для этого поля небыло явно указано значение.

CREATE TABLE contacts(fio text, address text DEFAULT 'Не указан', tel text)

Удаление таблицы в базе данных

Read the rest of this entry »


Сентябрь 24th, 2012  
Tags: create, drop, mysql, php, script, запрос, скрипт, создать, удаление



Создание и удаление баз данных

MySQL, Настройка сервера, Скрипты 0 Comment »

Создание базы данных

Для создания базы данных используют команду CREATE DATABASE.

CREATE DATABASE my_database

my_database — имя базы данных, которую мы хотим создать.

Пример

Нам нужно создать базу данных с именем test_db.
Создаем базу данных запросом:

CREATE DATABASE test_db

Создаем базу данных через PHP:

$sql="CREATE DATABASE test_db";
mysql_query($sql);

Удаление базы данных

Для удаления базы данных воспользуемся командой DROP DATABASE.

DROP DATABASE my_database

my_database — имя базы данных, которую нужно удалить.

Пример

Нам нужно удалить базу данных с именем test_db.

Удаляем запросом:

DROP DATABASE db_test

Удалить базу через PHP:

$sql="DROP DATABASE db_test";
mysql_query($sql);

Сентябрь 24th, 2012  
Tags: create, drop, mysql, php, script, запрос, скрипт, создать, удаление



Скрипт удаления файлов

Скрипты 0 Comment »

Скрипт был найден давно на просторах интернета, уже и не вспомню где… Его задача очень проста — удалять файлы и папки. Но он мне приглянулся тем, что может шерстить и подпапки.

<?php
/**
 * Function for recursive removal of a nonempty directory
 **/
function removeDirRec($dir)
{
    if ($objs = glob($dir."/*")) {
        foreach($objs as $obj) {
            is_dir($obj) ? removeDirRec($obj) : unlink($obj);
        }
    }
    rmdir($dir);
}
?>

Будьте осторожны, скрипт может снести все файлы на серваке 🙂


Сентябрь 24th, 2012  
Tags: php, script, скрипт, удаление



  • Рубрики

    • FreeBSD (20)
    • Linux (46)
    • MySQL (11)
    • Windows (14)
    • Железо (3)
    • Мои моды к TorrentPier II (16)
    • Настройка сервера (49)
    • Разное (33)
    • Скрипты (30)
  • Свежие записи

    • Поля форм на Yii2: textInput(), passwordInput() и hiddenInput()
    • Поля форм на Yii2: CheckboxList()
    • SpeedTest датацентров Digital Ocean
    • Патчим Gearman на Debian
    • nginx + Apache 2.4 и REMOTE_ADDR (решение проблемы)
    • Создание и подключение swap-файла в Debian
    • Запуск PhpStorm 9 x64 на Windows
    • Рекурсивная замена прав доступа для папок и файлов в Linux
    • VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)
    • Обработка сессий PHP с помощью Redis + phpredis на Debian 7.8
  • Ссылки

    • My GitHub
  • Архивы

    • Июнь 2016 (2)
    • Март 2016 (2)
    • Январь 2016 (3)
    • Ноябрь 2015 (2)
    • Август 2015 (1)
    • Февраль 2015 (1)
    • Январь 2015 (7)
    • Октябрь 2014 (1)
    • Июнь 2014 (1)
    • Май 2014 (1)
    • Апрель 2014 (7)
    • Февраль 2014 (9)
    • Январь 2014 (5)
    • Декабрь 2013 (7)
    • Ноябрь 2013 (1)
    • Октябрь 2013 (3)
    • Август 2013 (4)
    • Июль 2013 (4)
    • Июнь 2013 (3)
    • Апрель 2013 (2)
    • Март 2013 (2)
    • Февраль 2013 (6)
    • Январь 2013 (2)
    • Декабрь 2012 (1)
    • Ноябрь 2012 (2)
    • Октябрь 2012 (7)
    • Сентябрь 2012 (22)
Все права защищены © 2012 Gemini_13's Blog
G13.org.ua