Удобный on-line справочник по функциям wordpress
http://wordpress.taragana.net/nav.html?_functions/index.html
DbSimple - библиотека, реализующая единый интерфейс доступа к разным СУБД и включает в себя некоторое количество улучшений, упрощающих работу с СУБД.
Основные возможности
- Поддержка PHP 4 и 5, СУБД: MySQL, PostgreSQL и InterBase/FireBird.
- Простой и лаконичный интерфейс (см. примеры ниже).
- Функции непосредственной выборки: всего результата, строки, столбца, ячейки, ассоциативного массива, многомерного массива, связанного дерева.
- Поддержка различных видов placeholder-ов (параметров запроса): списковый, ассоциативный, идентификаторный
- Код библиотеки весьма компактен: один файл - базовый класс, один файл - драйвер конкретной СУБД.
и многое другое!
Основным недостатком традиционного подхода является разделение операций "выполнение запроса" и "получение результата запроса". Например необходимо получить список email пользователей со статусом 2
Традиционный подход $rusult = $mysqli->query('SELECT email FROM user WHERE status='.$status); $email_array = array(); while ($email = $rusult->fetch_assoc()) { $email_array = $email['email']; } DbSimple $email_array = $DB->selectCol('SELECT email FROM user WHERE status=?d', $status);
'SELECT email FROM user WHERE status='.$status - уязвим для sql-иньекций, если не проверить переменую $status
'SELECT email FROM user WHERE status=?d' - ?d это как раз и есть placeholder. Вместо него подставляется $status как целое число. Нам не нужно заморачиваться с проверкой - это сделает библиотека.
Это далеко не все возможности DbSimple. Более подробно в официальной документации
p.s. Около года использую эту библиотеку. Очень доволен
дальше ситуация будет развиваться примерно так:
1) ты находишь пример скрипта
2) ты не понимаешь, как его запустить. Тема в форуме: «Как запустить скрипт?»
3) Тебе советуют поднять Apache и, например, PHP. Тема в форуме «как установить и настроить PHP?»
4) Тебе рассказывают, как поднять Apache и PHP. Ты поднимаешь, но скрипт не работает. Тема в форуме: «Почему не запускается скрипт?»
5) В форуме выясняют, что у тебя 1. не настроен виртуальный хост на апаче, 2. не стоит MySQL. Тема в форуме: «Как настроить MySQL?»
6) Ты по советам форумчан поднимаешь MySQL, создаёшь нужную базу данных, скрипт работает, но выглядит не так, как тебе хочется. Тема в форуме: «Как поменять дизайн скрипта?»
......
N) Скрипт работает, имеет нужный дизайн и функциональность, стоит на платном хостинге в интернете, интегрирован с твоим сайтом, у тебя уже двое детей, новенькая Honda Civic, профессия PHP-программиста, диплом Oracle DBA и неотвязная мысль в мозгу «Нах.. мне всё это надо было?»
<html> <head> <title>Yandex</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> <?php if(!isset($_POST['submit'])) { echo '<form method="post" action=""> <table> <tr><td>Сайт: </td><td> <input name="site" type="text" size="30"> </td></tr> <tr><td>Запрос: </td><td> <input name="zapros" type="text" size="30"></td></tr> <tr><td>Количесвто страниц: </td><td> <input name="count" type="text" size="30" maxlength="1" value="3"></td></tr> </table> <input type="submit" name="submit" value="Искать"> </form>'; } else { $pattern = '/<span style="color:#060;">'."\n".'(www.)*'.$_POST['site'].'(.*)/i'; $zapros = rawurlencode($_POST['zapros']); $site = $_POST['site']; $count = $_POST['count']; // берем каждую страницу и парсим for($p=0; $p<$count; $p++){ $link = 'http://www.yandex.ru/yandsearch?&p='.$p.'&text='.$zapros; $content = file_get_contents($link); // берем содержимое отдельной страницы и парсим if(preg_match_all($pattern,$content,$page)) { echo '<b>'.$_POST['site'].'</b><br>'.$_POST['zapros'].'<br>'; $content = explode('<div class="title">',$content); // находим позицию сайта for($i=1; $i<=10; $i++) { if(preg_match($pattern,$content[$i])) { $poz = $p*10 + $i; echo '<a target="_blank" href="http://'.strip_tags($page[0][0]).'">' .strip_tags($page[0][0]).'</a><br>'; echo 'Позиция: <a href="'.$link.'" mce_href="'.$link.'" target="_blank">'.$poz.'</a>'; exit(); } } } } echo 'нету :('; } ?>
demo: http://ekimoff.ru/ya.php
Обычно размеры файлов хранятся в байтах. Для удобного отображения можно применять следующую функцию
function bytes2readable($v, $l = 0, $precision = 2) { $label = array(' Кб', ' Мб', ' Гб'); $val = $v / 1024; if (floor($val) >= 1024) { $l++; $val = bytes2readable(floor($val), &$l); } return round($val, $precision).$label[$l]; } bytes2readable(1000); // 0.98 Кб bytes2readable(10000); // 9.77 Кб bytes2readable(123456789); // 117.74 Мб