Примеры программирования в PHP

Приветствую вас, уважаемые коллеги! На этой странице вы найдете примеры, которые (а я надеюсь на это) помогут вам решить некоторые задачи, с которыми вы можете столкнуться в своей работе. Надеюсь эта информация поможет вам, как начинающим разработчикам, так и тем, кто имеет богатый опыт работы в PHP и понимает не только основы сайтостроения с помощью этого замечательного языка. В конце статьи я советую вам обратить внимание на бесплатную плюшку. Ну что же, поехали!

Содержание

  1. Как на PHP самому сделать автоматический счетчик номера записи в таблице MySQL?
  2. Как удалить все файлы в папке?
  3. Есть ли в PHP возможность заменить блоки if…else другой условной операцией?
  4. Как удалить определённые строки из текстового файла с помощью языка программирования 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.

2 ответы
  1. Володя говорит:

    Спасибо за автоматический счетчик номера записи, а то встроенный инкремент разбрасывает цифры как хочет.

Комментарии закрыты.