PDA

View Full Version : ویرایش کد- اساتید کمک کنید



majideblis
یک شنبه 30 تیر 1392, 16:22 عصر
سلام دوستان من یه کد دارم واسه موزیک انلاینه که به صورت اتوماتیک لینک اهنگ با حجم کم رو انتخاب میکنه
البته همیشه خوب کار نمیکنه و لینک اهنگ با حجم زیاد رو تو پلیر قرار میده
دوستان میشه این کدو واسم طوری ویرایش کنید که به لینک موزیکی که توش عدد 128 باشه حساس بشه و اونو تو موزیک انلاین بزاره
من همیشه دو تا لینک تو سایت قرار میده
1- Amin Fayyaz - Ziyafat [320].mp3
2-Amin Fayyaz - Ziyafat [128].mp3
که اگه بتونید یه کاری کنید که این کد لینک 128 رو انتخاب کنه ممنون میشم:قلب:
یکی از لینکهای سایتو قرار میدم که نگاه کنید که لینک 320 رو پلی میکنه
http://www.par30music.org/68/-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D8%A2%D9%87%D9%86%DA%AF-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%A7%D9%85%DB%8C%D9%86-%D9%81%DB%8C%D8%A7%D8%B6-%D8%A8%D9%87-%D9%86%D8%A7%D9%85-%D8%B6%DB%8C%D8%A7%D9%81%D8%AA
function getSizeFile($url) {
if (substr($url,0,4)=='http') {
$x = array_change_key_case(get_headers($url, 1),CASE_LOWER);
if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'][1]; }
else { $x = $x['content-length']; }
}
else { $x = @filesize($url); }

return $x;
}

$pattern="#<a?[^/>]+href=['|\"](.*\.mp3)['|\"]?[^/>]+#";



$bodytexts=$bodytext;

preg_match_all($pattern,$bodytexts,$song);

$links = array();
foreach($song[1] as $music){

$ff = getSizeFile($music);
$ff = $ff/1024;
$ff = $ff/1024;
$size = mb_substr($ff, 0, 6, "utf8" );

$links[] = array(
'url' => $music,
'size' => $size
);
}


$i = 0;
$sizes = array();
foreach( $links as $key=>$link ){
$i++;
$sizes[$key] = $link['size'];

}

$min = min($sizes);
$min_key = array_keys($sizes, min($sizes));
$min_key = $min_key[0];

$max = max($sizes);
$max_key = array_keys($sizes, max($sizes));
$max_key = $max_key[0];

if($links != null)
{



$bodytext.= '<center><object data="'.$nukeurl.'includes/1.swf" height="50" id="dewplayer" name="dewplayer" type="application/x-shockwave-flash" width="300"><param name="wmode" value="transparent" /><param name="movie" value="dewplayer-rect.swf" /><param name="flashvars"
value="mp3='.$links[$min_key]['url'].'&autostart=0&autoreplay=0&showtime=1&volume=80" /></object></center>';

}

MMSHFE
یک شنبه 30 تیر 1392, 20:16 عصر
این لینک (http://barnamenevis.org/showthread.php?215150-snippet-%D9%87%D8%A7%DB%8C-php&p=1785920&viewfull=1#post1785920) رو ببینید، شاید تابعی که برای محاسبه اندازه فایل نوشتم، بدرد بخوره چون سایز فایلهای سایر سرورها (حتی رپیدشیر و...) رو هم میتونه در بیاره.

majideblis
یک شنبه 30 تیر 1392, 22:16 عصر
ماشاء الله همه بچه ها صاحب سبک و حرفه ای هستن
که من با لینکی که دادی به قدرت این بچه های برنامه نویس پی بردم
خیلی فوق العاده اید
ولی اگه میشه کار مارو هم راه بندازید
یه طوری این کدرو تغییر بدید که بتونه لینک کم حجم رو دقیقا انتخاب کنه
من که دارم کم کم نا امید میشم

majideblis
یک شنبه 30 تیر 1392, 23:41 عصر
خداییش دوستان ازین کد سر در نمیارن؟؟
این کد

function getSizeFile($url) {
if (substr($url,0,4)=='http') {
$x = array_change_key_case(get_headers($url, 1),CASE_LOWER);
if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'][1]; }
else { $x = $x['content-length']; }
}
else { $x = @filesize($url); }

return $x;
}

این قسمت کد بالا که واسه اندازه گیری سایز فایله
که تو سایت نیوک دات او ار جی هم هست
اخر کد هم

$bodytext.= '<center><object data="'.$nukeurl.'includes/1.swf" height="50" id="dewplayer" name="dewplayer" type="application/x-shockwave-flash" width="300"><param name="wmode" value="transparent" /><param name="movie" value="dewplayer-rect.swf" /><param name="flashvars"
value="mp3='.$links[$min_key]['url'].'&autostart=0&autoreplay=0&showtime=1&volume=80" /></object></center>';

}

که واسه فایل فلشه
من که هیچی از کد نویسی نمیدونم تا اینجاشو فهیمدم
شما هم یه حمتی بکنید یه کمک به ما بدین خب

MMSHFE
دوشنبه 31 تیر 1392, 01:42 صبح
اینو تست کنید:


<?php

/**
* @author M-L-F
* @copyright 2013
*/

$nukeurl = 'http://localhost/nuke/';

$bodytext = <<<EOT
&nbsp;</p>
<p style="text-align: center;">
MP3 320Kbps</p>
<p style="text-align: center;">
<a href="http://dll.par30music.org/dl/download/music/Amin-Fayyaz/Amin%20Fayyaz%20-%20Ziyafat%20[320].mp3">Download</a></p>
<p style="text-align: center;">
&nbsp;</p>
<p style="text-align: center;">
MP3 128Kbps</p>
<p style="text-align: center;">
<a href="http://dll.par30music.org/dl/download/music/Amin-Fayyaz/Amin%20Fayyaz%20-%20Ziyafat%20[128].mp3">Download</a></p>
<p style="text-align: center;">
&nbsp;</p>
EOT;

$pattern = '#<a.*?href=[\'|"](.*?)\.mp3#';
$songs = array();
$link = '';
if(preg_match_all($pattern, $bodytext, $songs)) {
$songs = $songs[1];
foreach ($songs as $music) {
if(substr($music, -5) == '[128]') {
$link = $music . '.mp3';
}
}
}

if($link != '') {
$bodytext .= '<center><object data="' . $nukeurl . 'includes/1.swf" height="50" id="dewplayer" name="dewplayer" type="application/x-shockwave-flash" width="300">';
$bodytext .= '<param name="wmode" value="transparent" />';
$bodytext .= '<param name="movie" value="dewplayer-rect.swf" />';
$bodytext .= '<param name="flashvars" value="mp3=' . $link . '&autostart=0&autoreplay=0&showtime=1&volume=80" /></object></center>';
}

echo $bodytext;

?>

من با مقادیر bodytext$ و nukeurl$ آزمایشی، تست کردم و درست کار کرد. امیدوارم مشکلتون رو برطرف کنه.

MMSHFE
دوشنبه 31 تیر 1392, 02:30 صبح
این نمونه کد هم مثل قبلی کار میکنه:


<?php

/**
* @author M-L-F
* @copyright 2013
*/

$nukeurl = 'http://localhost/nuke/';

$bodytext = <<<EOT
&nbsp;</p>
<p style="text-align: center;">
MP3 320Kbps</p>
<p style="text-align: center;">
<a href="http://dll.par30music.org/dl/download/music/Amin-Fayyaz/Amin%20Fayyaz%20-%20Ziyafat%20[320].mp3">Download</a></p>
<p style="text-align: center;">
&nbsp;</p>
<p style="text-align: center;">
MP3 128Kbps</p>
<p style="text-align: center;">
<a href="http://dll.par30music.org/dl/download/music/Amin-Fayyaz/Amin%20Fayyaz%20-%20Ziyafat%20[128].mp3">Download</a></p>
<p style="text-align: center;">
&nbsp;</p>
EOT;

$pattern = '#<a.*?href=[\'|"](.*?\[(.*?)\]\.mp3)#';
$songs = array();
$link = '';
if(preg_match_all($pattern, $bodytext, $songs)) {
$min = min($songs[2]);
foreach($songs[1] as $song) {
if(substr($song, -8, -5) == $min) {
$link = $song;
}
}
}

if($link != '') {
$bodytext .= '<center><object data="' . $nukeurl . 'includes/1.swf" height="50" id="dewplayer" name="dewplayer" type="application/x-shockwave-flash" width="300">';
$bodytext .= '<param name="wmode" value="transparent" />';
$bodytext .= '<param name="movie" value="dewplayer-rect.swf" />';
$bodytext .= '<param name="flashvars" value="mp3=' . $link . '&autostart=0&autoreplay=0&showtime=1&volume=80" /></object></center>';
}

echo $bodytext;

?>

فقط فرقش اینه که خودش کمترین کیفیت موسیقی رو انتخاب میکنه و تأکید روی 128 نداره. مثلاً اگه کیفیت 96 هم بگذارین، اون رو انتخاب میکنه یا بین دو کیفیت 320 و 240، کیفیت 240 رو انتخاب میکنه ولی قبلی، همیشه دنبال 128 میگرده.

majideblis
دوشنبه 31 تیر 1392, 09:44 صبح
مرسی داداش ازینکه وقت گذاشتی
ولی هیچ کدوم کار نکرد اگه شما تغییراتتونو تو همون کدی که من بالا دادم انجام بدید نتیجه میگیریم
یه خورده این کد بالارو قوی تر کنی یا عیب یابیش کنی که چرا تو سایت من برعکس کار میکنه بهتر نتیجه میده
باز ممنون خیلی وقت گذاشتی ولی نشد:افسرده:

MMSHFE
دوشنبه 31 تیر 1392, 09:52 صبح
کد کاملی که نوشتین و تست کردین رو بگذارین تا ببینم مشکل کجاست.

majideblis
دوشنبه 31 تیر 1392, 10:13 صبح
یکی از دوستان به اسم Javidhb (http://barnamenevis.org/member.php?37577-Javidhb) یه راه حل جالب دادن که واقعا دستشون درد نکنه و گفتن " توی قسمت پلیر (کد بالا) بجای min_key$ از max_key$ (!) استفاده کن"
که دمشون گرم خیلی از پستهایی که لینک 320 رو اجرا میکرد تغییر کرد و به جاش لینک 128 داره اجرا میشه
ولی هنوز یه چند تا پست هنوز داره برعکس کار میکنه
که واقعا واسه خودم سواله که چرا بعضی از پستها رو برعکس اجرا میکنه
من که سر در نیاوردم
مثلا این لینک پستی هستش که پلیر لینک 128 رو اجرا میکنه
http://www.par30music.org/57/-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D8%A2%D9%87%D9%86%DA%AF-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%A7%D9%85%DB%8C%D8%B1-%D9%BE%D8%A7%D8%B4%D8%A7-%D8%A8%D9%87-%D9%86%D8%A7%D9%85-%D8%AA%D8%B1%D8%AF%DB%8C%D8%AF
و در این پست پلیر لینک 320 رو
http://www.par30music.org/58/-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D8%A2%D9%87%D9%86%DA%AF-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%B3%D8%B9%DB%8C%D8%AF-%DA%A9%D8%B1%D9%85%D8%A7%D9%86%DB%8C-%D8%A8%D9%87-%D9%86%D8%A7%D9%85-%D8%AF%D9%86%DB%8C%D8%A7%D9%85%DB%8C
یکی پست 57 هستش یکی دیگه پست بعدیش 58
ما که نفهمیدم این چه مشکلی داره (چه فرقی بین لینکهای این پست 58 با پست 57 داره):عصبانی++::گیج:

MMSHFE
دوشنبه 31 تیر 1392, 10:15 صبح
دوست عزیز، اگه ممکنه کد کاملی که نوشتین رو بگذارین تا ببینیم مشکل از کجاست. با یک تکه کد نمیشه واقعاً فهمید چه مشکلی وجود داره. کدی که من گذاشتم با داده های تست، درست کار میکنه و همیشه لینک کوچکتر رو میگذاره.

majideblis
دوشنبه 31 تیر 1392, 10:19 صبح
کد کاملی که نوشتین و تست کردین رو بگذارین تا ببینم مشکل کجاست.
این کد در حال حاضر با توضیحی که بالا دادم خوب کار میکنه ولی بازم بعضی از پستهای هنوز قاطی میکنه
http://uplod.ir/gunzjghnqjxo/article-seo.rar.htm
این کد کامله تو اینجا آپ کردم
بازم مرسی از همه بچه هایی که وقت میزارن:قلب:

majideblis
دوشنبه 31 تیر 1392, 10:32 صبح
دوست عزیز، اگه ممکنه کد کاملی که نوشتین رو بگذارین تا ببینیم مشکل از کجاست. با یک تکه کد نمیشه واقعاً فهمید چه مشکلی وجود داره. کدی که من گذاشتم با داده های تست، درست کار میکنه و همیشه لینک کوچکتر رو میگذاره.
من این کدو ننوشتم کد اصلی که همه بچه ها تو نیوک میزارن و به صورت پیشفرض هستش به این صورته
http://dll.par30music.org/dl/download/article-seo.rar
و دوستمون اقا سعید که این کدو نوشته و باید یه فایل فلش هم تو سایت اپ میکردیم و اینجا گذاشتم تا نگاه کنید
http://dll.par30music.org/dl/download/taki.zip
که اگه نگاه کنید که کدی که واسه موزیک پلیره به بیسیک تبدیل کرده بود که اونم میزارم
eval(base64_decode('ZnVuY3Rpb24gZ2V0U2l6ZUZpbGUoJH VybCkgewogICAgaWYgKHN1YnN0cigkdXJsLDAsNCk9PSdodHRw JykgewogICAgICAgICR4ID0gYXJyYXlfY2hhbmdlX2tleV9jYX NlKGdldF9oZWFkZXJzKCR1cmwsIDEpLENBU0VfTE9XRVIpOwog ICAgICAgIGlmICggc3RyY2FzZWNtcCgkeFswXSwgJ0hUVFAvMS 4xIDIwMCBPSycpICE9IDAgKSB7ICR4ID0gJHhbJ2NvbnRlbnQt bGVuZ3RoJ11bMV07IH0KICAgICAgICBlbHNlIHsgJHggPSAkeF snY29udGVudC1sZW5ndGgnXTsgfQogICAgfQogICAgZWxzZSB7 ICR4ID0gQGZpbGVzaXplKCR1cmwpOyB9CgogICAgcmV0dXJuIC R4Owp9CgoJJHBhdHRlcm49IiM8YT9bXi8+XStocmVmPVsnfFwi XSguKlwubXAzKVsnfFwiXT9bXi8+XSsjIjsKCQoJCgokYm9keX RleHRzPSRib2R5dGV4dDsKCnByZWdfbWF0Y2hfYWxsKCRwYXR0 ZXJuLCRib2R5dGV4dHMsJHNvbmcpOwoKJGxpbmtzID0gYXJyYX koKTsKZm9yZWFjaCgkc29uZ1sxXSBhcyAkbXVzaWMpewoKCSRm ZiA9IGdldFNpemVGaWxlKCRtdXNpYyk7CgkkZmYgPSAkZmYvMT AyNDsKCSRmZiA9ICRmZi8xMDI0OwoJJHNpemUgPSBtYl9zdWJz dHIoJGZmLCAwLCA2LCAidXRmOCIgKTsKCQkKCSRsaW5rc1tdID 0gYXJyYXkoCiAgCQkJJ3VybCcgPT4gJG11c2ljLAoJCQknc2l6 ZScgPT4gJHNpemUKCQkJKTsKfQoKCiRpID0gMDsKJHNpemVzID 0gYXJyYXkoKTsKZm9yZWFjaCggJGxpbmtzIGFzICRrZXk9PiRs aW5rICl7CgkkaSsrOwoJJHNpemVzWyRrZXldID0gJGxpbmtbJ3 NpemUnXTsKCQp9CgokbWluID0gbWluKCRzaXplcyk7CiRtaW5f a2V5ID0gYXJyYXlfa2V5cygkc2l6ZXMsIG1pbigkc2l6ZXMpKT sKJG1pbl9rZXkgPSAkbWluX2tleVswXTsKCiRtYXggPSBtYXgo JHNpemVzKTsKJG1heF9rZXkgPSBhcnJheV9rZXlzKCRzaXplcy wgbWF4KCRzaXplcykpOwokbWF4X2tleSA9ICRtYXhfa2V5WzBd OwoKaWYoJGxpbmtzICE9IG51bGwpCnsKCQoJCgkKCQkgICRib2 R5dGV4dC49ICc8YnI+PGNlbnRlcj48b2JqZWN0IGRhdGE9Iicu JG51a2V1cmwuJ2luY2x1ZGVzLzEuc3dmIiBoZWlnaHQ9IjUwIi BpZD0iZGV3cGxheWVyIiBuYW1lPSJkZXdwbGF5ZXIiIHR5cGU9 ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiB3aWR0aD 0iMzAwIj48cGFyYW0gbmFtZT0id21vZGUiIHZhbHVlPSJ0cmFu c3BhcmVudCIgLz48cGFyYW0gbmFtZT0ibW92aWUiIHZhbHVlPS JkZXdwbGF5ZXItcmVjdC5zd2YiIC8+PHBhcmFtIG5hbWU9ImZs YXNodmFycyIgCnZhbHVlPSJtcDM9Jy4kbGlua3NbJG1pbl9rZX ldWyd1cmwnXS4nJmF1dG9zdGFydD0wJmF1dG9yZXBsYXk9MCZz aG93dGltZT0xJnZvbHVtZT04MCIgLz48L29iamVjdD48L2Nlbn Rlcj4nOwoKCX0='));

MMSHFE
دوشنبه 31 تیر 1392, 10:47 صبح
کدی که من دادم رو کجا تست کردین؟ کد کامل همون فایل رو من لازم دارم.

majideblis
دوشنبه 31 تیر 1392, 10:55 صبح
کدی که من دادم رو کجا تست کردین؟ کد کامل همون فایل رو من لازم دارم.
کدی که شما نوشتی رو به جای کد بیسیک"eval(base64_decode(" گذاشتم و تست کردم
تو فایل taki.zip که پیوست کردم تو پوشه modules\News به جای کد بیسیک گذاشتم
که با رنگ زرد مشخص کردم
http://upload7.ir/images/12093572204524491603.png

majideblis
دوشنبه 31 تیر 1392, 11:09 صبح
دادا نمیدونم شما چیکار کردی ولی انگاری اومدی یه لینک (امین فیاض) رو تو کد گذاشتی
این کدی که من دادم واسه ادامه مطلب نیوکه و همیشه میگرده دنبال کدهایی که mp3 هستند
ولی شما اومدی یه لینک بهش دادی و محدودش کردی به یه لینک خاص

<a href="http://dll.par30music.org/dl/download/music/Amin-Fayyaz/Amin%20Fayyaz%20-%20Ziyafat%20[128].mp3">Download</a></p><p style="text-align: center;">
&nbsp;</p>

البته نمیدونم شایدم من اشتباه میکنم و شما درست میگید ولی در کل کدی که دادی کار نمیکنه

Javidhb
دوشنبه 31 تیر 1392, 11:14 صبح
مطمئن نیستم که درست کار کنه... لطفا تستش کنید!



function getSizeFile($url) {

if (substr($url,0,4)=='http') {
$x = array_change_key_case(get_headers($url, 1),CASE_LOWER);

if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'];}
else { $x = $x['content-length']; }
}
else { $x = @filesize($url); }

return $x;
}

$pattern="#<a?[^/>]+href=['|\"](.*\.mp3)['|\"]?[^/>]+#";

preg_match_all($pattern,$bodytexts,$song);


$links = array();
foreach($song[1] as $music){

$ff = getSizeFile($music);
$ff = $ff/1024;
$ff = $ff/1024;
$size = mb_substr($ff, 0, 6, "utf8" );

$links[] = array(
'url' => $music,
'size' => $size
);
}

$i = 0;
$sizes = array();
foreach( $links as $key=>$link ){
$i++;
$sizes[$key] = $link['size'];

}

$min = min($sizes);
$min_key = array_keys($sizes, min($sizes));
$min_key = $min_key[0];

$max = max($sizes);
$max_key = array_keys($sizes, max($sizes));
$max_key = $max_key[0];

if($links != null)
{

$bodytext.= '<center><object data="'.$nukeurl.'includes/1.swf" height="50" id="dewplayer" name="dewplayer" type="application/x-shockwave-flash" width="300"><param name="wmode" value="transparent" /><param name="movie" value="dewplayer-rect.swf" /><param name="flashvars"
value="mp3='.$links[$min_key]['url'].'&autostart=0&autoreplay=0&showtime=1&volume=80" /></object></center>';

}

majideblis
دوشنبه 31 تیر 1392, 11:19 صبح
مطمئن نیستم که درست کار کنه... لطفا تستش کنید!



function getSizeFile($url) {

if (substr($url,0,4)=='http') {
$x = array_change_key_case(get_headers($url, 1),CASE_LOWER);

if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'];}
else { $x = $x['content-length']; }
}
else { $x = @filesize($url); }

return $x;
}

$pattern="#<a?[^/>]+href=['|\"](.*\.mp3)['|\"]?[^/>]+#";

preg_match_all($pattern,$bodytexts,$song);


$links = array();
foreach($song[1] as $music){

$ff = getSizeFile($music);
$ff = $ff/1024;
$ff = $ff/1024;
$size = mb_substr($ff, 0, 6, "utf8" );

$links[] = array(
'url' => $music,
'size' => $size
);
}

$i = 0;
$sizes = array();
foreach( $links as $key=>$link ){
$i++;
$sizes[$key] = $link['size'];

}

$min = min($sizes);
$min_key = array_keys($sizes, min($sizes));
$min_key = $min_key[0];

$max = max($sizes);
$max_key = array_keys($sizes, max($sizes));
$max_key = $max_key[0];

if($links != null)
{

$bodytext.= '<center><object data="'.$nukeurl.'includes/1.swf" height="50" id="dewplayer" name="dewplayer" type="application/x-shockwave-flash" width="300"><param name="wmode" value="transparent" /><param name="movie" value="dewplayer-rect.swf" /><param name="flashvars"
value="mp3='.$links[$min_key]['url'].'&autostart=0&autoreplay=0&showtime=1&volume=80" /></object></center>';

}


این کدو جایگزین کردم نشد

MMSHFE
دوشنبه 31 تیر 1392, 11:23 صبح
اگه امکان داره، اطلاعات اتصال به هاست رو برام بفرستین تا براتون روی خود هاست درستش کنم. اگر هم نمیشه، TeamViewer نصب کنید و اطلاعات RemoteConnection رو برام پیام خصوصی کنید تا به سیستم شما وصل بشم و خودتون وارد هاست بشین و من از اینجا درستش کنم.

Javidhb
دوشنبه 31 تیر 1392, 11:46 صبح
عجب کدیه!



function getSizeFile($url) {

if (substr($url,0,4)=='http') {
$x = array_change_key_case(get_headers($url, 1),CASE_LOWER);

if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'];}
else { $x = $x['content-length']; }
}
else { $x = @filesize($url); }

return $x;
}

$pattern="#<a?[^/>]+href=['|\"](.*\.mp3)['|\"]?[^/>]+#";

preg_match_all($pattern,$bodytexts,$song);


$links = array();
foreach($song[1] as $music){

$ff = getSizeFile($music);
$ff = $ff/1024;
$ff = $ff/1024;
$size = mb_substr($ff, 0, 6, "utf8" );

$links[] = array(
'url' => $music,
'size' => $size
);
}

$i = 0;
$sizes = array();
foreach( $links as $key=>$link ){
$i++;
$sizes[$key] = $link['size'];

}



//$min = min($sizes);
$min_key = array_keys($sizes, min($sizes));
$min_key = $min_key[0];

//$max = max($sizes);
$max_key = array_keys($sizes, max($sizes));
$max_key = $max_key[0];

if($links != null)
{

$bodytext.= '<center><object data="'.$nukeurl.'includes/1.swf" height="50" id="dewplayer" name="dewplayer" type="application/x-shockwave-flash" width="300"><param name="wmode" value="transparent" /><param name="movie" value="dewplayer-rect.swf" /><param name="flashvars"
value="mp3='.$links[$min_key]['url'].'&autostart=0&autoreplay=0&showtime=1&volume=80" /></object></center>';

}


برای یکی از لینکای سایتتون تست کردم اینو برگردوند:(امیدوارم واسه بقیه هم کار کنه!!!)

http://dll.par30music.org/dl/download/music/Emad/Emad%20-%20Delshoore%20%5B128%5D.mp3

majideblis
دوشنبه 31 تیر 1392, 12:01 عصر
عجب کدیه!



function getSizeFile($url) {

if (substr($url,0,4)=='http') {
$x = array_change_key_case(get_headers($url, 1),CASE_LOWER);

if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'];}
else { $x = $x['content-length']; }
}
else { $x = @filesize($url); }

return $x;
}

$pattern="#<a?[^/>]+href=['|\"](.*\.mp3)['|\"]?[^/>]+#";

preg_match_all($pattern,$bodytexts,$song);


$links = array();
foreach($song[1] as $music){

$ff = getSizeFile($music);
$ff = $ff/1024;
$ff = $ff/1024;
$size = mb_substr($ff, 0, 6, "utf8" );

$links[] = array(
'url' => $music,
'size' => $size
);
}

$i = 0;
$sizes = array();
foreach( $links as $key=>$link ){
$i++;
$sizes[$key] = $link['size'];

}



//$min = min($sizes);
$min_key = array_keys($sizes, min($sizes));
$min_key = $min_key[0];

//$max = max($sizes);
$max_key = array_keys($sizes, max($sizes));
$max_key = $max_key[0];

if($links != null)
{

$bodytext.= '<center><object data="'.$nukeurl.'includes/1.swf" height="50" id="dewplayer" name="dewplayer" type="application/x-shockwave-flash" width="300"><param name="wmode" value="transparent" /><param name="movie" value="dewplayer-rect.swf" /><param name="flashvars"
value="mp3='.$links[$min_key]['url'].'&autostart=0&autoreplay=0&showtime=1&volume=80" /></object></center>';

}


برای یکی از لینکای سایتتون تست کردم اینو برگردوند:(امیدوارم واسه بقیه هم کار کنه!!!)

http://dll.par30music.org/dl/download/music/Emad/Emad%20-%20Delshoore%20%5B128%5D.mp3

فعلا که اقای MMSHFE (http://barnamenevis.org/member.php?55504-MMSHFE) عزیز دارن تو هاست یه کارایی میکنن تا ببینم چی میشه
شما کجاشو تغییر دادی؟

MMSHFE
دوشنبه 31 تیر 1392, 12:10 عصر
درست شد. مشکل از این بود که در چند خط بعد، دوباره bodytext$ مقداردهی از اول میشد یعنی بجای =. از = استفاده شده بود و درنتیجه هرچی ما توی این کدها توی bodytext$ میریختیم از بین میرفت. کد دومی که گذاشتم به خوبی کار کرد.

majideblis
دوشنبه 31 تیر 1392, 12:19 عصر
درست شد. مشکل از این بود که در چند خط بعد، دوباره bodytext$ مقداردهی از اول میشد یعنی بجای =. از = استفاده شده بود و درنتیجه هرچی ما توی این کدها توی bodytext$ میریختیم از بین میرفت. کد دومی که گذاشتم به خوبی کار کرد.
واقعا دمت گرم من هنوز اندر خم حل شدن این مشکل هستم
دادا واست پیام خصوصی دادم و اگه جواب بدی یه چیز دیگه میخوام که اونم اگه حل کنی که من پرواز میکنم:D

MMSHFE
دوشنبه 31 تیر 1392, 12:56 عصر
اون مشکل دوم هم حل شد (نمایش Player قبل از لینکهای دانلود). کد نهایی:


$bodytexts = urldecode(substr($bodytext, strrpos($bodytext, '<br>') + 4));
$bodytext = substr($bodytext, 0, strrpos($bodytext, '<br>'));
$pattern = '#<a.*?href=[\'|"](.*?\[(.*?)\]\.mp3)#i';
$songs = array();
$link = '';
if(preg_match_all($pattern, $bodytexts, $songs)) {
$min = min($songs[2]);
foreach($songs[1] as $song) {
if(substr($song, -8, -5) == $min) {
$link = $song;
}
}
}

if($link != '') {
$bodytext .= '<center><object data="' . $nukeurl . 'includes/1.swf" height="65" id="dewplayer" name="dewplayer" type="application/x-shockwave-flash" width="250">';
$bodytext .= '<param name="wmode" value="transparent" />';
$bodytext .= '<param name="movie" value="dewplayer-rect.swf" />';
$bodytext .= '<param name="flashvars" value="mp3=' . $link . '&autostart=0&autoreplay=0&showtime=1&volume=100" /></object></center>';
}

$bodytext .= $bodytexts;

موفق باشید.