ГлавнаяФорумыЧАТСкрипты/PHP/MySQL/CSS/HTML

Полезные PHP коды

InkMission[78] (Off)
[06.02.11, 22:33]
извлечение скринов из тем .nth
<?php
require_once('pclzip.lib.php' );
$nth = new PclZip('test.nth');
$content = $nth->extract(PCLZIP_OPT_BY_NAME,'theme_descriptor.xml',PCLZIP_OPT_EXTRACT_AS_STRING);
$content = $content[0]['content'];
$teg = simplexml_load_string($content)->wallpaper['src'] or
$teg = simplexml_load_string($content)->wallpaper['main_display_graphics'];
$image_resourse = $nth->extract(PCLZIP_OPT_BY_NAME,"$teg",PCLZIP_OPT_EXTRACT_AS_STRING);
$image_resourse = $image_resourse[0]['content'];
header( "Content-type:image/jpeg" );
print $image_resourse;
?>
InkMission[78] (Off)
[06.02.11, 22:33]
Снятие скриншота с 3gp видеоролика
<?php
/*
* Снятие скриншота с 3gp видеоролика
* автор: nc_soft
* 17.01.08
*/

if (!class_exists(ffmpeg_movie))
{
die('ничего не выйдет, нужна ffmpeg на хостинге');
}

//создание объекта (тестовый файл test.3gp)
$file='test.3gp';

if (file_exists($file))
{
$mov = new ffmpeg_movie($file);
}
else
{
die('невозможно найти файл');
}

//номер кадра
$frame = 50;

//ширина
$w = $mov->GetFrameWidth();

//вы
InkMission[78] (Off)
[06.02.11, 22:34]
изменение битрейта mp3
<?php
/*
* изменение битрейта mp3
* автор: Nc_soft
* 10.03.08
*/

/*
для этого нам потребуется поддержка Lame на хостинге и
разрешение выполнять команды ОС (функция exec )
а так в этом нет ничего сложного
*/

//файл, который конвертим
$input_file='file_name.mp3';

//требуемый битрейт
$bit=64;

//куда сохранить выходной файл
$output_file='out.mp3';

//выполняем команду
exec("lame '".escapeshellcmd($input_file)."' -b $bit --mp3input '".escapeshellcmd($output_file)."' ");

/*
подробнее о LAME и на русском можно почитать тут:
http://www.allok.ru/?id=15
*/

?>
InkMission[78] (Off)
[06.02.11, 22:34]
Jad генератор на основе ZipArchive
<?php
/**
* Jad генератор на основе ZipArchive
* автор: Nc_Soft
* 13.02.09
*/
$file = 'test.jar';
$jad = '';

//создаем объект
$z = new ZipArchive();

if ($z->open($file)) {
$fp = $z->getStream('META-INF/MANIFEST.MF');
if(!$fp) exit("не удалось открыть манифест");

//читаем данные
while (!feof($fp)) {
$jad .= fread($fp, 200);
}

fclose($fp);

//дописываем что надо
$jad .= "\nMIDlet-Jar-Size: ".filesize($file)."\nMIDlet-Jar-URL: $file";

//сохраняем
file_put_contents('test.jad', $jad);
}

//А вообще, можно извлечь манифест еще проще
echo file_get_contents("zip://$file#META-INF/MANIFEST.MF");
//http://ru.php.net/manual/en/function.ziparchive-getstream.php
?>
InkMission[78] (Off)
[06.02.11, 22:34]
Определение параметров mp3 файла
<?php
/**
* Определение параметров mp3 файла
* автор: Nc_Soft
* 12.04.09
*/

/*Не знаю как вас, а меня бесит библа getid,
поэтому параметры я определяю через ffmpeg*/

$ff=new ffmpeg_movie('file.mp3');

//длительность (с)
echo $ff->getDuration();

//аудио битрейт
echo $ff->getAudioBitRate();

//Возвратит поле "авторское право" из аудио или видео файла
echo $ff->getCopyright();

//Возвратит ID3 поле "Артист" из mp3 файла
echo $ff->getArtist();

//Возвратит ID3 поле "Жанр" из mp3 файла
echo $ff->getGenre();

//Возвратит ID3 поле "номер дорожки" из mp3 файла
echo $ff->getTrackNumber();

//Возвратит ID3 поле "Год" из mp3 файла
echo $ff->getYear();

//Возвратит название аудио кодека который использован видео файл как строку
echo $ff->getAudioCodec();

//Возвратит количество аудио каналов (1 моно 2 стерео и т д) как целое число
echo $ff->getAudioChannels();

/*моя функция форматирования времени трека*/
function dur($d) {
if ($d<60) {
return '00:'.sprintf('%02d',$d);
}

$s=$d%60;
return sprintf('%02d',($d-$s)/60).':'.sprintf('%02d',$s);
}
//пример
echo dur('105'); //01:45
InkMission[78] (Off)
[06.02.11, 22:35]
Обрезка видео ffmpeg
<?php
/**
* Обрезка видео ffmpeg
* автор: Nc_Soft
* 19.01.10
*/

//отрежем 1 минуту от начала
exec('ffmpeg -i video.avi -vcodec copy -acodec copy -ss 00:00:00 -t 00:01:00 trim_video.avi');
InkMission[78] (Off)
[06.02.11, 22:35]
Демонстрация цвета по его 16-му коду
<?php
<html>
<head>
<title>Color</title>
<style type="text/css">
h1{color:black; background: white; text-align:center;}
</style>
</head>

<!--Если скрипт был вызван с параметром указывающим код цвета, то присваивает соответствующий 16-ый код тегу body, через css-->
<?php
echo "<br><br><br>";
if (isset($_GET['kod'])){
echo "<body style=\"background-color:#".$_GET['kod']."\">";
echo "<h1>This #".$_GET['kod']."</h1>";
}
else
echo "<body bgcolor=white>";
?>

<!--Форма для задания номера цвета в 16-ом формате, пример 226688
Знак решетки указывать перед номером не надо, скрипт подставит автоматоматически-->
<br><br>
<form action="<?=$_SERVER['SCRIPT_NAME']?>">
<table align=center>

<tr><td align=center>
<input type=text name=kod value="" size=50><br><br>
</td></tr>

<tr><td align=center>
<input type=submit name=enter value="Demontstrate color">
</td></tr>

</table>
</form>

</body>
</html>
?>
InkMission[78] (Off)
[06.02.11, 22:35]
записываем id3 теги на мп3 фаилы
<?php
$data = array(
"title" => "Re:Start",
"artist" => "Re:Legion",
"comment" => "A nice track"
);
$result = id3_set_tag( "path/to/example.mp3", $data, ID3_V1_0 );
if ($result === true) {
echo "Tag succesfully updatedn";
}
?>
InkMission[78] (Off)
[06.02.11, 22:36]
Извлечение картинки из темы SE
<?php
require('Tar.php'); /* http://pear.php.net/search.php?q=tar */
$theme = 'test.thm';
$archive = & new Archive_Tar($theme);
$deskside_file = $archive -> extractInString('Theme.xml');
$image_puth = simplexml_load_string($deskside_file)-> Standby_image['Source'] or
simplexml_load_string($deskside_file)-> Desktop_image['Source'];
$image_string = $archive -> extractInString($image_puth);
header( "Content-type:image/jpeg" );
print $image_string;
?>
InkMission[78] (Off)
[06.02.11, 22:37]
Отправка сообщений на email
<?php
function mail_send($email, $smail, $subject, $message, $info = '', $pr = '')
{
$email = text_filter( $email );
$smail = text_filter( $smail );
$subject = text_filter( $subject );
$pr = ( !$pr ) ? 3 : intval( $pr );
if( $info ) $message = $message . ' ' . _IP . ': '. getip() . ' ' . _BROWSER . ': ' . getagent();
$mheader = 'MIME-Version: 1.0n'
.'Content-Type: text/html; charset=' . _CHARSET . 'n'
.'Content-Transfer-Encoding: 8bitn'
.'Reply-To: "' . $smail .'" <' . $smail .'>n'
.'From: "' . $smail .'" <' . $smail .'>n'
.'Return-Path: <' . $smail .'>n'
.'X-Priority: ' . $pr .'n'
.'X-Mailer: CMS Mailern';
return mail( $email, $subject, $message, $mheader );
?>
Последние ответы