Примеры программирования в PHP
Приветствую вас, уважаемые коллеги! На этой странице вы найдете примеры, которые (а я надеюсь на это) помогут вам решить некоторые задачи, с которыми вы можете столкнуться в своей работе. Надеюсь эта информация поможет вам, как начинающим разработчикам, так и тем, кто имеет богатый опыт работы в PHP и понимает не только основы сайтостроения с помощью этого замечательного языка. В конце статьи я советую вам обратить внимание на бесплатную плюшку. Ну что же, поехали!
Содержание
- Как на PHP самому сделать автоматический счетчик номера записи в таблице MySQL?
- Как удалить все файлы в папке?
- Есть ли в PHP возможность заменить блоки if…else другой условной операцией?
- Как удалить определённые строки из текстового файла с помощью языка программирования PHP?
Как на PHP самому сделать автоматический счетчик номера записи в таблице MySQL?
Будем использовать для этого следующую функцию:
<?php // Функция предназначена для получения номера записи таблицы function get_id($tbl_dt) { // отсортируем по убыванию $result = mysql_query("SELECT id FROM ".$tbl_dt." ORDER BY `id` DESC"); $myrow = mysql_fetch_array($result); $num_rows = mysql_num_rows($result); // если количество записей совпадает с последним id, тогда... if ($num_rows==$myrow['id']) { // ...возьмём самый первый элемент //в выборке с наибольшим значением id, // увеличив на единицу это значение return $myrow['id'] + 1; } else { // отсортируем по возрастанию, затем... $res1=mysql_query("SELECT id FROM ".$tbl_dt." ORDER BY `id` ASC"); $myrow1 = mysql_fetch_array($res1); $i = 1; do // ...ищем "пустой" id и добавляем запись по этому id { if ($i == $myrow1['id']) { $i++; continue; } else { return $i; } } while ($myrow1 = mysql_fetch_array($res1)); } } ?>
Теперь применим её на практике:
<?php $id = get_id($tbl_dt); $answer = addslashes($answer); $result = mysql_query ("INSERT INTO faq (id,post,question,answer) VALUES ($id,'$post','$question','$answer')"); if ($result == 'true') { echo "<p align="center">Ваш вопрос успешно добавлен!</p>"; } else {echo " <p align="center">Ваш вопрос не добавлен!</p>"; } ?>
Как удалить все файлы в папке?
<?php // Функция предназначена для удаления всех файлов в папке function del_all_files() { $dir = 'https://site.softmaker.kz/tmp/'; // удалить все файлы в папке if($handle = opendir($dir)) { while(false !== ($file = readdir($handle))) if($file != "." && $file != "..") unlink($dir.$file); closedir($handle); } } ?>
Есть ли в PHP возможность заменить блоки if…else другой условной операцией?
Язык программирования РНР предоставляет возможность заменять блоки if…else условной операцией
(в отличие от унарных и бинарных операций условная операция используется с тремя операндами).
В этой условной операции присутствуют два символа «?» и «:» и три параметра:
<?php (выражение_1) ? выражение_2 : выражение_3 ?>
Первым вычисляется значение выражения_1. Если оно истинно, то вычисляется значение выражения_2,
которое и становится результатом. Если при вычислении значения выражения_1 ложно, то в качестве результата берётся выражение_3.
Например, можно написать следующее выражение:
<?php $myrest = ($rest == 1) ? "" : "-"; ?>
В этом примере переменной $myrest присваивается пустая строка, если переменная $rest равна 1,
иначе переменной $myrest присваивается тире «-«.
Как удалить определённые строки из текстового файла с помощью языка программирования PHP?
Предположим, нужно удалить все строки из текста, которые содержат слово «php».
<?php //Удалим строку из файла, // которая содержит слово «php» $stroka = 'php'; // Считываем весь файл в массив $file = file("php_text.txt"); $i = 0; // Ищем нужную строку while ($i < sizeof($file)) { if (strstr($file[$i], $stroka) <> FALSE){ unset($file[$i]); } $i++; } // Открываем файл и // сохраняем в нём всё что осталось $f = fopen("php_text_out.txt", 'w+'); flock($f, LOCK_EX); foreach($file as $string) { fwrite($f, $string); } flock($f, LOCK_UN); fclose($f); ?>
Смотрите также подобную процедуру для правильного удаления строк текстового файла с помощью встроенного языка системы 1С8.
Спасибо за автоматический счетчик номера записи, а то встроенный инкремент разбрасывает цифры как хочет.
Я согласен с Вами, пожалуйста!