jistili1 2 ارسال شده در تیر 96 گزارش بازنشر ارسال شده در تیر 96 سلام دوستان.میخوام برای وردپرس یه تابع بهم معرفی کنید که بهش بگم برو داخل فلان صفحه وب ، توی اون صفحه هر چی لینک با فرمت مثلا mp4 بود رو برگردون اینجا که بهت میگم.مثلا یه صفحه ای از یک وب که توش دانلود یک فیلم با کیفیت های مختلفه که میتونه چند تا لینک باشه ، همه اون لینک ها که فرمتشون یا mp4 هست و یا mkv برام بیار.خواهش میکنم جوابم رو بدید.خیلی نیاز دارم.اگه متوجه منظورم نشدید بگید یه جور دیگه توضیح بدم.خیلی ممنون. نقل قول لینک به ارسال
Mobin 1669 ارسال شده در تیر 96 گزارش بازنشر ارسال شده در تیر 96 وردپرس چنین تابعی نداره شما باید خودتون بنویسین با استفاده از curl , domdocument , xpath میتونین این کار رو انجام بدین $url = 'http://www.xexample.com/download'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $result = curl_exec ($ch); $doc = new DOMDocument; $doc->load($result); $items = $doc->getElementsByTagName('a'); foreach($items as $value) { echo $value->nodeValue . "\n"; $attrs = $value->attributes; echo $attrs->getNamedItem('href')->nodeValue . "\n"; }; 1 نقل قول لینک به ارسال
jistili1 2 ارسال شده در تیر 96 مالک گزارش بازنشر ارسال شده در تیر 96 در 17 ساعت قبل، lord_viper گفته است : وردپرس چنین تابعی نداره شما باید خودتون بنویسین با استفاده از curl , domdocument , xpath میتونین این کار رو انجام بدین $url = 'http://www.xexample.com/download'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $result = curl_exec ($ch); $doc = new DOMDocument; $doc->load($result); $items = $doc->getElementsByTagName('a'); foreach($items as $value) { echo $value->nodeValue . "\n"; $attrs = $value->attributes; echo $attrs->getNamedItem('href')->nodeValue . "\n"; }; خیلی ممنونم.بعدش باید فرمتی که میخوام مثلا mp4 رو درون تابع get elementsbytagname به جای a قرار بدم؟ نقل قول لینک به ارسال
naghmesara 315 ارسال شده در تیر 96 گزارش بازنشر ارسال شده در تیر 96 سلام و درود نقل قول خیلی ممنونم.بعدش باید فرمتی که میخوام مثلا mp4 رو درون تابع get elementsbytagname به جای a قرار بدم؟ خیر. برای اینکه فقط به شما لینک هایی که فرمتشون mp4 هست نمایش داده بشه باید از کد زیر استفاده کنید. <?php function curl($url) { $ch = curl_init(); $timeout = 0; $header=array( 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: en-us,en;q=0.5', 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Connection: keep-alive', 'Keep-Alive: 300' ); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_ENCODING, ""); $data = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($httpCode != 200) return false; curl_close($ch); return $data; } $site = curl('http://example.com/'); if($site) : $dom = new DOMDocument(); @$dom->loadHTML(mb_convert_encoding($site, 'HTML-ENTITIES', 'UTF-8')); $links = $dom->getElementsByTagName('a'); foreach($links as $link) : if( pathinfo($link->getAttribute('href'), PATHINFO_EXTENSION) == 'mp4' || pathinfo($link->getAttribute('href'), PATHINFO_EXTENSION) == 'MP4' ) echo $link->getAttribute('href') . '<br>'; endforeach; else : echo "مشکلی در لود سایت به وجود آمده است"; endif; ?> موفق باشید 1 نقل قول لینک به ارسال
jistili1 2 ارسال شده در تیر 96 مالک گزارش بازنشر ارسال شده در تیر 96 در 12 ساعت قبل، naghmesara گفته است : سلام و درود خیر. برای اینکه فقط به شما لینک هایی که فرمتشون mp4 هست نمایش داده بشه باید از کد زیر استفاده کنید. <?php function curl($url) { $ch = curl_init(); $timeout = 0; $header=array( 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: en-us,en;q=0.5', 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Connection: keep-alive', 'Keep-Alive: 300' ); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_ENCODING, ""); $data = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($httpCode != 200) return false; curl_close($ch); return $data; } $site = curl('http://example.com/'); if($site) : $dom = new DOMDocument(); @$dom->loadHTML(mb_convert_encoding($site, 'HTML-ENTITIES', 'UTF-8')); $links = $dom->getElementsByTagName('a'); foreach($links as $link) : if( pathinfo($link->getAttribute('href'), PATHINFO_EXTENSION) == 'mp4' || pathinfo($link->getAttribute('href'), PATHINFO_EXTENSION) == 'MP4' ) echo $link->getAttribute('href') . '<br>'; endforeach; else : echo "مشکلی در لود سایت به وجود آمده است"; endif; ?> موفق باشید خیلی خیلی ممنونم.بعدش باید بزارمش توی function.php دیگه؟ نقل قول لینک به ارسال
naghmesara 315 ارسال شده در تیر 96 گزارش بازنشر ارسال شده در تیر 96 درود مجدد نقل قول خیلی خیلی ممنونم.بعدش باید بزارمش توی function.php دیگه؟ خیر. این کد برای فایل functions.php نوشته نشده. صرفا کدی هست که کاری رو که گفتید انجام میده. شما میتونید با الگو گیری از روی این کد ، کد مورد نظر خود رو بنویسید و ازش در فانکشن استفاده کنید. موفق باشید نقل قول لینک به ارسال
jistili1 2 ارسال شده در تیر 96 مالک گزارش بازنشر ارسال شده در تیر 96 در 8 ساعت قبل، naghmesara گفته است : درود مجدد خیر. این کد برای فایل functions.php نوشته نشده. صرفا کدی هست که کاری رو که گفتید انجام میده. شما میتونید با الگو گیری از روی این کد ، کد مورد نظر خود رو بنویسید و ازش در فانکشن استفاده کنید. موفق باشید دستت درد نکنه.خیلی لطف کردید. 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .