ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : گرفتن عکس از url در php



iroo
April 19th, 2017, 17:07
سلام و خسته نباشید

میخوام وقتی کاربر یک url وارد میکنه من بتونم عکس اون صفحه از سایت رو نشون بدم، و در اندازه کوچیک باشه

ممنون میشم راهنمائیم کنید

تشکر

firebox
April 19th, 2017, 20:19
php سمت سرور اجرا میشه ، برای اینکه بتونید از یک صفحه وب عکس بگیرید ، باید اون صفحه رو ازش رندر بگیرید ، برای اینکار میتونید از ابزارهایی مثل Phantom.js یا کتابخانه هایی مثل html2ps (به زبان php هست ، کتابخانه قدیمی هست ،‌پیشنهاد نمیشه) استفاده کنید . کتابخانه screen (https://github.com/microweber/screen) هم برای php نوشته شده ، که از phantom.js استفاده میکنه باید قبلش phantom.js رو نصب کرده باشید

یک راه خیلی ساده تر هم هست ، اون هم اینکه از سمت کاربر توسط مرورگر خود کاربر استفاده کنید ، به وسیله قابلیت Html 5 و جاوا اسکریپت میتونید از یک صفحه توی یک canvas رندر بگیرید و تو سرورتون ذخیر کنید . برای اینکار کتابخانه خوب Html2Canvas (https://github.com/niklasvh/html2canvas) وجود داره

iroo
April 19th, 2017, 20:25
php سمت سرور اجرا میشه ، برای اینکه بتونید از یک صفحه وب عکس بگیرید ، باید اون صفحه رو ازش رندر بگیرید ، برای اینکار میتونید از ابزارهایی مثل Phantom.js یا کتابخانه هایی مثل html2ps (به زبان php هست ، کتابخانه قدیمی هست ،‌پیشنهاد نمیشه) استفاده کنید . کتابخانه screen (https://github.com/microweber/screen) هم برای php نوشته شده ، که از phantom.js استفاده میکنه باید قبلش phantom.js رو نصب کرده باشید

یک راه خیلی ساده تر هم هست ، اون هم اینکه از سمت کاربر توسط مرورگر خود کاربر استفاده کنید ، به وسیله قابلیت Html 5 و جاوا اسکریپت میتونید از یک صفحه توی یک canvas رندر بگیرید و تو سرورتون ذخیر کنید . برای اینکار کتابخانه خوب Html2Canvas (https://github.com/niklasvh/html2canvas) وجود داره

آقا فرض کنید یه سایت تبادل لینک اتوماتیک هست، طرف سایتش رو ثبت میکنه، و تو لیست ما اضافه میشه
ما هم هنگام نشان دادن لیست سایت ها یک عکس کوچیک مثلا در اندازه 80 * 80 نمایش میدیم

این یک مثال بود و کار یه چیزی شبیه این خواهد بود

تشکر

AtrafNet
April 19th, 2017, 20:57
سلام
یا باید از همون phantom.js که دوستمون پیشنهاد کردن استفاده کنید یا اینکه از Web API سایت های خارجی استفاده کنید.
اکثر این Web API ها پولی هستن که با سرچ واژه Screenshot Web API در گوگل می تونید پیداشون کنید اما نمونه زیر ظاهراً امکان ارائه API اسکرین شات کوچک اما رایگان رو داره:



http://www.thumbalizr.com/apitools.php


نمونه استفاده اش هم اینطوریه:



http://api.thumbalizr.com/?url=http://www.google.com&width=250


منبع: http://stackoverflow.com/questions/4235638/how-to-take-thumbnail-screenshots-of-websites-using-php