PDA

View Full Version : دریافت لینک دانلود یک فایل از صفحه



parandweb
جمعه 15 خرداد 1394, 14:27 عصر
سلام دوستان برای دریافت اطلاعات مربوط به صفحه در php از تابع زیر استفاده می کنیم:


$page = file_get_contents("http:// fb.com/aaafamilychannel");
echo $page;


این تابع کل کد نویسی یک صفحه رو بر می گردونه.

حال من می خوام با کمک شما دوستان کاری کنم که این تابع لینک خاصی ( منظورم پسوند خاص مثلا .mp3 ) رو از اون صفحه استخراج کنه مثلا ما آدرس صفحه ای رو به این تابع بدیم که در محتویاتش لینکی مانند زیر وجود دارد:


http://musicdownload.test/music/name.mp3

من می خوام این لینک رو فقط خروجی بگیرم.

در کل من هر ادرسی به این تابع دادم ابتدا چک کنه که لینکی با پسوند .mp3 در اون صفحه قرار داره یا نه اگر قرار داره اون لینک رو خروجی بده اگر قرار نداره دستور بعدی اجرا بشه

ممنون میشم راهنماییم کنید من بلدم اطلاعات یک آی دی رو از صفحه بگیرم اما هنوز با عبارت با قائده با همه تلاشهایی که داشتم با مشکل مواجه میشم

reza_alie
جمعه 15 خرداد 1394, 14:31 عصر
سلام به این صفحه ی سری بزنید
http://www.finalwebsites.com/forums/topic/php-file-download
موفق باشی

parandweb
جمعه 15 خرداد 1394, 14:58 عصر
ممنون آقا رضا اما اون کد خیلی از مواردش اضافه هست و پیچیده.

به کد زیر توجه کنید


<?php
$content = file_get_contents('http://webgoo.ir');
$footer = preg_match("/<div class=\"footer-txt\"[^>]*>(.*?)<\\/div>/ims", $content, $match);
echo $match[1];
?>

کد فوق وارد سایت وبگو میشه و محتوایات داخل دیو footer-txt را خروجی میده


<div class="footer-txt">
مقادیری که استخراج می شود
</div>

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


<a href="http://محتویات مد نظر من.mp3">عنوان لینک</a>

reza_alie
جمعه 15 خرداد 1394, 15:47 عصر
سلام ببین دوست عزیز من این قطعه کد رو در یکی از سایت ها دیدم فکر کنم اون چیزی باشه که شما می خوای!!!



$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";

// The Text you want to filter for urls
$text = "The text you want to filter goes here. http://google.com";

// Check if there is a url in the text
if(preg_match($reg_exUrl, $text, $url)) {

// make the urls hyper links
echo preg_replace($reg_exUrl, "<a href='{$url[0]}'>{$url[0]}</a> ", $text);

} else {

// if no urls in the text just return the text
echo $text;

}





خروجی:


<a href="http://google.com">http://google.com</a>

فقط یکسری از جاهایی رو که نیاز نداری رو حذفش کن
موفق باشی

H:Shojaei
شنبه 16 خرداد 1394, 00:36 صبح
این ببینید به دردتون میخوره:



$str="abcdeg='http://musicdownload.test/music/name.mp3'fdaf fds fd ";
preg_match_all('/=\'(.*)3\'/', $str,$matches);
print_r($matches);