Полезные коды в PHP и MySQL

8.14K
.
# Sitego (05.09.2016 / 20:11)
Не совсем PHP, но может кому-то пригодится.
Задача была такая - никак не устраивал суточный бекап, вернее файлы сайтов раз в сутки это нормально, а вот с базами данных на двух сайтах была просто беда
полезная вещь спасибо
.
Sitego, не стремно на сторонний сервис бд сливать? не проще себе на почту слать?
.
Sitego
Enter нажат, к чему теперь рыданья…
ramzes, ну во-первых, почта ведь тоже на Яндекс, так какая разница куда слать, на диск или на почту? А во-вторых, полные бекапы сайтов же всё равно на Яндекс.Диске хранятся, из которых при желании можно выковырять все базы данных. Ну и в третьих, Яндексу я доверяю, это не та контора, которая будет сливать информацию пользователей кому попало. А если там какие-то ФСБшники и ковыряются в почте и в файлах пользователей, так пожалуйста. Криминалом я не занимаюсь, так что в этом плане мне опасаться нечего
Кому я на фиг нужен со своими безобидными сайтиками? гГ.
.
это не та контора, которая будет сливать информацию пользователей кому попало
да не, я в случае взлома, такое бывает и с серьезными конторами
полные бекапы сайтов же всё равно на Яндекс.Диске хранятся
ну так то да, логично
.
Enter нажат, к чему теперь рыданья…
ramzes, от взлома конечно никто не застрахован, но взломать могут и на уровне сайта, и не обязательно на Яндекс. Пароли на таких "резервных" ящиках у меня очень сложные, даже я их не помню, они в менеджере паролей хранятся в зашифрованном и запароленном главным паролем виде. Такой пароль брутфорсом придётся подбирать не один миллион лет. А доверие к Яше построено на долгом пользовании, уже лет десять, если не больше. За это время проблем с конфиденциальностью ни разу не замечал.
.
Поиск повторяющихся слов и чисел в тексте (+/-)
.
ДоХтор, на твой пост (07.09.2016 / 23:10) отвечу,
Отрефакторил: (+/-)
.
ramzes
функция (достоверно) проверяет, является ли файл картинкой
возвращает или миметип картинки или false
/**
 * @param  string $file
 * @return string|bool
 */
function is_img($file)
{

    $image_valid_ext = [
        'jpg',
        'jpeg',
        'png',
        'gif',
        'webp'
    ];
    $image_valid_mime = [
        'image/webp',
        'image/png',
        'image/jpeg',
        'image/gif',
        'image/bmp'
    ];

    if(file_exists($file)){

        $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));

        if(in_array($ext, $image_valid_ext)){

            $real_file_extension = image_type_to_mime_type(exif_imagetype($file));

            if(in_array($real_file_extension, $image_valid_mime)){

                return $real_file_extension;

            }else{
                return false;

            }
        }else{
            return false;

        }
    }else{
        return false;

    }
}


if(is_img('storage/image.png')){
    echo'is image';
}else{
    echo'is not image';
}
.
[#]
<?php
/**
 * @param string $filename
 *
 * @return bool|string
 */
function isImage($filename)
{
    if (
        file_exists($filename) &&
        in_array(
            $mime_type = (new finfo(FILEINFO_MIME_TYPE))->file($filename),
            ['image/gif', 'image/jpeg', 'image/png']
        )
    ) {
        return $mime_type;
    }

    return false;
}

var_dump(
    isImage('lol.png'),
    isImage('a.jpg'),
    isImage('a2.gif'),
    isImage(''),
    isImage(__FILE__)
);
.
Вот нашел в просторах инета функцию оптимизации всех таблиц в БД
function OptimizeAllTables() {
$tables = mysql_query ('SHOW TABLES'); //get all the tables
while ($table = mysql_fetch_array ($tables))
mysql_query ('OPTIMIZE TABLE ' . $table[0]); //optimize them
}
Всего: 360