[deleted]
( off
)
(
16:24 10-02-2017
)
Многие из нас пробовали когда то, либо же и на данный момент, занимаются вап строительством. Имея свой сайт вы хотите его более менее усовершенствовать и сделать более интересными.
Тема создана для выкладывания интересных кусков кодов /функций, которые могут помочь вам заменить различные сервисы и время.
Дополнения приветствуются/Поиск кодов/функций
[ред.
[deleted]
10-02-2017 в 16:41]
[deleted]
( off
)
(
16:29 10-02-2017
) Отправка отчета об ошибке на мыло. По умолчанию, большинство серверов настроены на отображение сообщения об ошибке в сценариях PHP. По соображениям безопасности, Вы можете получать письма с отчетами об ошибках, вместо того, чтобы они отображались посетителям.
// Обработчик ошибок
function
nettuts_error_handler
($number, $message, $file, $line, $vars){
$email = "
<p>An error ($number) occurred on line
<strong>$line</strong> and in the <strong>file: $file.</strong>
<p> $message </p>" ;
$email .= "<pre>" . print_r($vars, 1) . "</pre>" ;
$headers = 'Content-type: text/html; charset=iso-8859-1' . "rn" ;
// Кому отправляем
error_log($email, 1,
'example@mail.ru' , $headers);
// реагируем на ошибку уведомление
if ( ($number !== E_NOTICE) && ($number <
2048) ) {
die ("Ошибка в сценарии!" );
}
}
// Применяем нашу функцию для обработки ошибок
set_error_handler( 'nettuts_error_handler' );
// Ошибка)
echo $somevarthatdoesnotexist;
[deleted]
( off
)
(
16:32 10-02-2017
) Годный код, который добавляет ваш копирайт в зип архив
<?php
$filepath=
'my_archive.zip' ;
$zip= new
ZipArchive;
if ($zip->open
($filepath)===
TRUE)
{
//$zip->addFile('/
papka/
ReadMe_PHPcodes.RU.txt ',
' ReadMe_PHPcodes.RU.txt ');
$zip-
>setArchiveComment
(' PHPcodes.RU-
супер-пупер-мего
сайт! ');
$zip->addFromString
(' ReadMe_PHPcodes.RU.txt ','
Скачано
сPHPcodes.RU ');
$zip->close();
echo' гуд ';
}
else
{
echo' ой! ';
}
?>
[deleted]
( off
)
(
16:34 10-02-2017
) Один из простых способов нахождения файла
# функция нахождения расширения файла
function ext ($str){
# проверяем файл на наличие точки
if(strpos($str,
'.' ) !== false){
# разбиваем строку с помощью точки
$explode = explode( '.' , $str);
# обрабатываем массив и выводим результат
return $explode[count($explode) -
1 ];
}else{
# если точки нет возвращаем false
return
false ;
}
}
# файл с расширением mp4
$file = 'file.mp4' ;
# вызов функции
echo ext($file);
[deleted]
( off
)
(
16:36 10-02-2017
) Принудительное скачивание, без прямых ссылок на файл.
go($_SERVER['DOCUMENT_ROOT'].'/путь до файла');
Код:
function go ($file) {
if (file_exists($file)) {
// сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт
// если этого не сделать файл будет читаться в память полностью!
if (ob_get_level()) {
ob_end_clean();
}
// заставляем браузер показать окно сохранения файла
header( 'Content-Description: File Transfer' );
header( 'Content-Type: application/octet-stream' );
header( 'Content-Disposition: attachment; filename=' . basename($file));
header( 'Content-Transfer-Encoding: binary' );
header( 'Expires: 0' );
header( 'Cache-Control: must-revalidate' );
header( 'Pragma: public' );
header( 'Content-Length: ' . filesize($file));
// читаем файл и отправляем его пользователю
if ($fd = fopen($file,
'rb' )) {
while (!feof($fd)) {
print fread($fd,
1024);
}
fclose($fd);
}
exit;
}
}
[ред.
[deleted]
10-02-2017 в 16:37] [deleted]
( off
)
(
16:39 10-02-2017
) Удаление файлов по шаблону
Допустим есть папка files, а в ней файлы:
1.jpg
1.gif
2.png
-------
Задача:
Удалить файлы со всеми расширениями, у которых название "1". То код в одну строчку будет полезен.
Код:
<?php
array_map( 'unlink' , glob( "files/1.*" ));
?>
[deleted]
( off
)
(
16:40 10-02-2017
) Функция транслита
Простенькая функция перекодировки файла из одной кодировки в другую.
Первый аргумент обязателен и должен указывать на файл, второй и третий аргумен не обязательны.
Второй аргумент - из какой кодировки перекодировать, если не указан, то берется кодировка windows-1251.
Третий аргумент - в какую кодировку перекодировать, если не указан, то берется кодировка utf-8.
Код:
function ftext_iconv($file = false, $from = false, $to = false)