Youtube flv çeken, TTnet dns sorunu çıkmaması için, ip şeklinde link veren fonksiyonum;
function youtubeFlv($url)
{
for ($i = 69; $i <= 76; $i++) {
$ytipx[] = '208.117.236.' . $i;
}
$ytip = $ytipx[array_rand($ytipx)];
if (preg_match('@v=@', $url)) {
$urly = parse_url($url);
parse_str($urly['query'], $urlx);
$id = $urlx['v'];
} else {
$id = $url;
}
$s = 'http://' . $ytip . '/watch?v=' . $id;
$sayfa = file_get_contents($s);
preg_match('^\'SWF_ARGS\': {(.*?)},^', $sayfa, $ciktix);
preg_match('^"fmt_url_map": "(.*?)"^', $ciktix[1], $cikti);
if (preg_match_all('^http://v[0-9]+.lscache[0-9]+.[a-zA-Z0-9]+.youtube.com/videoplayback\?.*?,([0-9]+)^', urldecode($cikti[1]), $vid)) {
$xy = $vid[0][array_search('5', $vid[1])];
if (!$xy) $xy = $vid[0][array_search('35', $vid[1])];
if (!$xy) $xy = $vid[0][array_search('34', $vid[1])];
$flv = preg_replace('@,[0-9]+@', '', $vid[0][array_search('5', $vid[1])]);
} else {
$flv = preg_replace(array('@[0-9]+\|@', '@,[0-9]+@'), '', urldecode($cikti[1]));
}
preg_match('@http://(.*?)/@', $flv, $srv);
$flvx = str_replace($srv[1], gethostbyname($srv[1]), $flv);
return $flvx;
}kullanım 1;
echo youtubeFlv('GxUOZhnqA04');kullanım 2;
echo youtubeFlv('http://www.youtube.com/watch?v=GxUOZhnqA04');çıktı;
http://74.125.97.92/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=900073%2C905207&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1264010400&key=yt1&signature=AF1220D1FE732B45C83E42A4D67CFE1BEC9CA38A.B4C915A19B2BCFCC451F1F49FAABB17498443277&factor=1.25&id=1b150e6619ea034e
==================================================
Türkçe karakter destekli ucwords fonksiyonum, ayrıca parantez içindeki kelimelerinde baş harflerini büyütür.
function uc_words($gelen)
{
$kc = str_split('abcçdefghıijklmnoöpqrsştuüvwxyz');
$by = str_split('ABCÇDEFGHIİJKLMNOÖPQRSŞTUÜVWXYZ');
$kelime = preg_split('^\s+^si', $gelen);
foreach ($kelime as $k) {
$ilk = substr($k, 0, 1);
if ($ilk == '(' || $ilk == '[' || $ilk == '{') {
$kx = substr($k, 1, strlen($k));
$veri[] = substr($k, 0, 1)
. str_replace($kc, $by, substr($kx, 0, 1))
. substr($kx, 1, strlen($kx));
} else {
$veri[] = str_replace($kc, $by, $ilk)
. substr($k, 1, strlen($k));
}
unset($ilk, $verix);
}
return join(' ', $veri);
}kullanım;
echo uc_words('bir şarkısın sen ömür boyu sürecek');Çıktı;
Bir Şarkısın Sen Ömür Boyu Sürecek
==================================================
Türkçe karakter destekli, strtolower yerine kullanabileceğiniz yazı küçültme fonksiyonum.
function kucult($x)
{
return strtolower(strtr($x, 'IİÇŞÜÖĞ', 'ıiçşüöğ'));
}kullanım;
kucult('BİŞEYLER');çıktı;
bişeyler
==================================================
Türkçe karakter destekli, strtoupper yerine kullanabileceğiniz yazı büyütme fonksiyonum.
function buyut($x)
{
return strtoupper(strtr($x, 'ıiçşüöğ', 'IİÇŞÜÖĞ'));
}kullanım;
buyut('bişeyler');çıktı;
BİŞEYLER
==================================================
Linkleri seo için permalink yapan fonksiyonum;
function seo_link($gelen)
{
return preg_replace('@\-+@', '-',
preg_replace('@[^a-zA-Z0-9]@', '-',
strtr(kucult($gelen),'çöğıüş', 'cogius')));
}kullanım;
echo seo_link('HSBC Portföy');cikti;
hsbc-portfoy
==================================================
Kullanıcının browserini almaya yarayan fonksiyon;
function browser_al($useragent = '')
{
if ($useragent == '')
{
$useragent = $_SERVER['HTTP_USER_AGENT'];
}
$browser_name = '';
$browsers = array();
$browsers[] = array('name' => 'AmigaVoyager', 'useragent' => 'AmigaVoyager');
$browsers[] = array('name' => 'Apple Generic', 'useragent' => 'CFNetwork');
$browsers[] = array('name' => 'Camino', 'useragent' => 'Camino');
$browsers[] = array('name' => 'Ensemble2', 'useragent' => 'Ensemble2');
$browsers[] = array('name' => 'Epiphany', 'useragent' => 'Epiphany');
$browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox');
$browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox/1.0');
$browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox/1.5');
$browsers[] = array('name' => 'firefox', 'useragent' => 'BonEcho');
$browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox/2');
$browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox/3');
$browsers[] = array('name' => 'firefox', 'useragent' => 'GranParadiso');
$browsers[] = array('name' => 'firefox', 'useragent' => 'Phoenix');
$browsers[] = array('name' => 'firefox', 'useragent' => 'Firebird');
$browsers[] = array('name' => 'Galeon', 'useragent' => 'Galeon');
$browsers[] = array('name' => 'Google Chrome', 'useragent' => 'chrome');
$browsers[] = array('name' => 'iCab', 'useragent' => 'iCab');
$browsers[] = array('name' => 'Iceweasel', 'useragent' => 'Iceweasel');
$browsers[] = array('name' => 'ie', 'useragent' => 'MSIE');
$browsers[] = array('name' => 'ie', 'useragent' => 'MSIE5.');
$browsers[] = array('name' => 'ie', 'useragent' => 'MSIE6.');
$browsers[] = array('name' => 'ie', 'useragent' => 'MSIE7.');
$browsers[] = array('name' => 'ie', 'useragent' => 'MSIE8.');
$browsers[] = array('name' => 'K-Meleon', 'useragent' => 'K-Meleon');
$browsers[] = array('name' => 'Konqueror', 'useragent' => 'Konqueror');
$browsers[] = array('name' => 'Lynx', 'useragent' => 'Lynx');
$browsers[] = array('name' => 'Mozilla Minefield', 'useragent' => 'Minefield');
$browsers[] = array('name' => 'Netscape', 'useragent' => 'Netscape');
$browsers[] = array('name' => 'NewsCopier', 'useragent' => 'NewsCopier');
$browsers[] = array('name' => 'opera', 'useragent' => 'Opera');
$browsers[] = array('name' => 'Pocket Internet Explorer', 'useragent' => 'MicrosoftPocketInternetExplorer');
$browsers[] = array('name' => 'Pocket Internet Explorer', 'useragent' => 'MSPIE');
$browsers[] = array('name' => 'Radianrss', 'useragent' => 'radianrss');
$browsers[] = array('name' => 'RssReader', 'useragent' => 'rssreader.com');
$browsers[] = array('name' => 'Safari', 'useragent' => 'AppleSyndication');
$browsers[] = array('name' => 'Safari', 'useragent' => 'Safari');
$browsers[] = array('name' => 'SeaMonkey', 'useragent' => 'SeaMonkey');
$browsers[] = array('name' => 'Swiftweasel', 'useragent' => 'Swiftweasel');
$browsers[] = array('name' => 'Thunderbird', 'useragent' => 'Thunderbird');
$browsers[] = array('name' => 'Vienna', 'useragent' => 'Vienna');
foreach ($browsers as $browser)
{
if (stripos(strtolower($useragent), strtolower($browser['useragent'])) !== FALSE)
{
$browser_name = $browser['name'];
}
}
unset($browsers, $browser, $useragent);
if ($browser_name)
{
return $browser_name;
}
else
{
return false;
}
}==================================================
Javascript kullanarak x sürede yönlendirme yapan fonksiyonum;
function git($url, $sure = 0)
{
if ($sure == 0)
echo '<script>window.location.href = "' . $url . '";</script>';
else
echo '<script>setTimeout(\'window.location.href = "' . $url . '";\', ' . ($sure * 1000) . ');</script>';
}kullanım;
git('index.php', 3); // 3 saniye==================================================
x karakterden sonra metini kesen akıllı word wrap fonksiyonum;
function akilli_wordwrap($gelen)
{
$exp = explode(" ", $gelen);
foreach ($exp as $e)
{
if (strlen($e) > 50)
{
$str .= chunk_split($e, 35, " ");
}
else
{
$str .= $e . " ";
}
}
return $str;
}kullanım;
echo wordwrap('bilgilendiremediklerimizdenmisinizcesineymişmiş', 20);çıktı;
bilgilendiremedikler imizdenmisinizcesine ymişmiş
==================================================
Gönderilen maillerde türkçe karakter sorunu yaratmayan UTF8 mail sınıfım;
class UTF8_Mail
{
var $gonderen = '';
public function gonder($kimden, $kime, $konu, $mesaj)
{
if ($this->gonderen != '') {
$kime = $this->gonderen;
}
if (utf8mail($kimden, $kime, iconv('latin5', 'utf-8', $konu), iconv('latin5', 'utf-8', $mesaj))) {
return true;
}
return false;
}
private function utf8mail($kimden, $kime, $konu, $mesaj)
{
$kimden2 = explode("<", $kimden);
if (isset($kimden2[0])) {
$ust = "From: =?UTF-8?B?".base64_encode($kimden2[0])."?= <".$kimden2[1]."\r\n";
} else {
$ust = "From: ".$kimden[1]."\r\n";
}
$konu ="=?UTF-8?B?".base64_encode($konu)."?=\n";
$ust .= "Content-Type: text/html; charset=UTF-8; format=flowed \n".
"MIME-Version: 1.0 \n" .
"Content-Transfer-Encoding: 8bit \n".
"X-Mailer: PHP \n";
return mail($kime, $konu, $mesaj, $ust);
}
}kullanım;
$gonderen = 'devturkeli@gmail.com';
$alici = 'devturkeli@php.net';
$konu = 'utf8 mail test';
$mesaj = 'kendi kendine mail yollayan adam';
$mail = new UTF8_Mail;
$mail->gonder($gonderen, $alici, $konu, $mesaj);
==================================================
Email geçerliliğini kontrol etme fonksiyonum;
function mail_kontrol($email)
{
if (preg_match('^[A-Za-z0-9\._-]+[@][A-Za-z0-9\._-]+[\.].[A-Za-z0-9]+^', trim($email))) {
return TRUE;
}
return FALSE;
}kullanım;
if (mail_kontrol('deneme@deneme.com')) {
echo 'Email adresi geçerli';
} else {
echo 'Email adresi geçersiz';
}==================================================
Dosya uzantısı alma fonksiyonum;
function uzanti($x)
{
$i = pathinfo($x);
return $i['extension'];
}kullanım;
echo uzanti('asd.hede.xxx.jpg');çıktı;
jpg
==================================================
3-4 yıl önce bir projem için yazdığım Navigatör link oluşturucu, array olarak girilen parametrelere göre navigasyon linkleri oluşturur.
function navigator_link($parametreler, $stil)
{
// div-border:1px solid gray||a-border:1px solid gray
if ($stil <> NULL)
{
$stil_exp = explode("||", $stil);
if (is_array($stil_exp))
{
$tag_stil_1 = explode("#", $stil_exp[0]);
$tag_stil_2 = explode("#", $stil_exp[1]);
$tag1_stil = $tag_stil_1[1];
$tag2_stil = $tag_stil_2[1];
}
}
if (is_array($parametreler))
{
foreach ($parametreler as $param_key => $param_val)
{
$navigator .= '<' . $param_key . ' style="' . $tag1_stil . '">';
if (is_array($parametreler[$param_key]))
{
foreach ($parametreler[$param_key] as $_param_key => $_param_val)
{
if (is_array($parametreler[$param_key][$_param_key]))
{
if ($_param_key == "a")
{
foreach ($parametreler[$param_key][$_param_key] as $pkey => $pval) // a çıkar
{
if (is_array($parametreler[$param_key][$_param_key][$pkey]))
{
foreach ($parametreler[$param_key][$_param_key][$pkey] as $p_val)
{
$z = @array_keys($parametreler[$param_key][$_param_key]);
$navigator .= '<' . $_param_key . ' style="' . $tag2_stil . '" href="' . $p_val . '">' . $z[0] . '</' . $_param_key . '>';
}
}
else
{
$navigator .= '<' . $_param_key . ' style="' . $tag2_stil . '">' . $pval . '</' . $_param_key . '>';
}
}
}
else
{
if ($_param_key == "span")
{
if (is_array($parametreler[$param_key][$_param_key][$pkey]))
{
foreach ($parametreler[$param_key][$_param_key][$pkey] as $p_val)
{
$z = @array_keys($parametreler[$param_key][$_param_key]);
$navigator .= "<span style='{$tag2_stil}' onclick=\"location.href='" . $p_val . "';\">" . $z[0] . "</a>";
}
}
else
{
$navigator .= '<' . $_param_key . ' style="' . $tag2_stil . '">' . $pval . '</' . $_param_key . '>';
}
}
}
}
}
}
$navigator .= '</' . $param_key . '>';
}
}
else
{
return FALSE;
}
return $navigator;
}kullanım;
$parametreler = array(
'div' => array
(
'a' => array
(
'index' => array('index.php')
),
's' => array
(
'index' => "yazi"
)
)
);