PHP фрагменты кода
Category: PHP code examples
$_SERVER['DOCUMENT_ROOT']
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
Простая защита страницы php паролем
<?php /* Проверяем по переменной в куках залогинены мы или нет */ // берем из куков переменную $in_cookie_login = $_COOKIE['logged']; // сравниваем её с нужным значением if ( $in_cookie_login == 'yes' ) { /* здесь мы грузим информацию, которую мы хотели скрыть от всех */ // кнопка выйти, которая возвращает к странице ввода пароля ?> <span id="exit">Выйти</span> <script language = 'javascript'> exit.onclick = function() { var date = new Date(new Date().getTime() + 60 * 1000 * 60 * 6); document.cookie = "logged=''; path=/; expires=" + date.toUTCString(); location.href = "../index.php"; }; </script> <?php } else { /* Выводим панель для ввода пароля */ ?> <form method="post"> <input type="password" name="password"> <input type="submit" name="login" value="Вход"> </form> <?php /* Пишем обработчик для панели для ввода пароля */ if (isset($_POST['login'])) { // получаем введенное пользователем значение пароля $in_form_pass = $_POST['password']; // открываем файл с паролем для чтения $file_open = file("password.php"); // считываем пароль из файла echo $in_file_pass = trim($file_open[0]); // сравниваем эти два пароля if ( $in_form_pass == $in_file_pass ) { // если пароли одинаковые - устанавливаем в куках значение залогиненный = да и перезагружаем страницу ?> <script language = 'javascript'> var date = new Date(new Date().getTime() + 60 * 1000 * 60 * 6); document.cookie = 'logged=yes; path=/; expires=' + date.toUTCString(); // function reload() { location.href = '../index.php'; } setTimeout(reload, 500); </script> <?php } } } /* Подключаем jquery */ ?> <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
Счетчик обращений к файлу на php (счетчик скачиваний)
Используем директиву mod_rewrite в файле .htaccess:
RewriteEngine on RewriteRule ^price.xls$ /log.php
Обрабатываем запрос, дописываем в файл логов и перенаправляем на файл. Код log.php:
<?php $file = "log.txt"; // Имя файла $handler = fopen($file, "a+"); // Открываем файл для записи $str = "IP=".$_SERVER["REMOTE_ADDR"].";date=".date("Y-m-d H:i:s")."\n"; // так выглядит строка - записываем, например, ip и дату fwrite($handler, $str); // Добавляем строку в конец файла fclose($handler); // Закрываем дескриптор $file = "price.xls"; // Скачиваемый файл header("Content-Disposition: attachment; filename=your_price.xls;"); // Сообщаем браузеру, что сейчас должна начаться скачка файла (filename отвечает за имя файла, который увидит пользователь) echo file_get_contents($file); // Отдаём файл браузеру ?>
php вывод сокращенного месяца на 3х языках
Решение не рациональное но рабочее, его можно оптимизировать значительно, здесь публикую чтобы было под рукой. Результат выполнения будет в формате вроде: 28 Nov, 2016
<?php echo get_the_date( 'd'.' ' ); if ( get_the_date( 'n' ) == 1 ) : if ($current_lang == 'uk') echo 'Сiч'.', '; else if ($current_lang == 'ru') echo 'Янв'.', '; else if ($current_lang == 'en') echo 'Jan'.', '; endif; if ( get_the_date( 'n' ) == 2 ) : if ($current_lang == 'uk') echo 'Лют'.', '; else if ($current_lang == 'ru') echo 'Фев'.', '; else if ($current_lang == 'en') echo 'Feb'.', '; endif; if ( get_the_date( 'n' ) == 3 ) : if ($current_lang == 'uk') echo 'Бер'.', '; else if ($current_lang == 'ru') echo 'Мрт'.', '; else if ($current_lang == 'en') echo 'Mar'.', '; endif; if ( get_the_date( 'n' ) == 4 ) : if ($current_lang == 'uk') echo 'Квiт'.', '; else if ($current_lang == 'ru') echo 'Апр'.', '; else if ($current_lang == 'en') echo 'Apr'.', '; endif; if ( get_the_date( 'n' ) == 5 ) : if ($current_lang == 'uk') echo 'Трав'.', '; else if ($current_lang == 'ru') echo 'Май'.', '; else if ($current_lang == 'en') echo 'May'.', '; endif; if ( get_the_date( 'n' ) == 6 ) : if ($current_lang == 'uk') echo 'Черв'.', '; else if ($current_lang == 'ru') echo 'Июн'.', '; else if ($current_lang == 'en') echo 'June'.', '; endif; if ( get_the_date( 'n' ) == 7 ) : if ($current_lang == 'uk') echo 'Лип'.', '; else if ($current_lang == 'ru') echo 'Июл'.', '; else if ($current_lang == 'en') echo 'July'.', '; endif; if ( get_the_date( 'n' ) == 8 ) : if ($current_lang == 'uk') echo 'Серп'.', '; else if ($current_lang == 'ru') echo 'Авг'.', '; else if ($current_lang == 'en') echo 'Aug'.', '; endif; if ( get_the_date( 'n' ) == 9 ) : if ($current_lang == 'uk') echo 'Вер'.', '; else if ($current_lang == 'ru') echo 'Сен'.', '; else if ($current_lang == 'en') echo 'Sept'.', '; endif; if ( get_the_date( 'n' ) == 10 ) : if ($current_lang == 'uk') echo 'Жовт'.', '; else if ($current_lang == 'ru') echo 'Окт'.', '; else if ($current_lang == 'en') echo 'Oct'.', '; endif; if ( get_the_date( 'n' ) == 11 ) : if ($current_lang == 'uk') echo 'Лист'.', '; else if ($current_lang == 'ru') echo 'Нбр'.', '; else if ($current_lang == 'en') echo 'Nov'.', '; endif; if ( get_the_date( 'n' ) == 12 ) : if ($current_lang == 'uk') echo 'Груд'.', '; else if ($current_lang == 'ru') echo 'Дек'.', '; else if ($current_lang == 'en') echo 'Dec'.', '; endif; echo get_the_date( 'Y' ); ?>
ы