PDA

View Full Version : یافتن عکس بر اساس سایز در یک آرایه



haniye70
پنج شنبه 27 تیر 1392, 22:36 عصر
با سلام خدمت همگی دوستان من یک سوال داشتم

می خواستم ببینم چگونه یک عکس رو بر اساس بیشترین ساز پیدا کنم

ببینید







$html = file_get_html($link);
foreach($html->find('img') as $images)
echo $images->outertext . '<br>';




خوب الان تمامی عکس ها نمایش داده میشه ولی من می خوام عکسی که بیشترین سایز رو داره بگیرم و درون یک متغیر بریزم حالا اگه بشه اون عکس jpg فیلتر بشه که خیلی عالی میشه

هدف من اینکه از یک وب سایت چنتا عکس رو بردارم می خوام ببینم میشه اینکارو کرد

مرسی

Unique
جمعه 28 تیر 1392, 00:47 صبح
منظور از سایز حجم عکسه یا طول و عرضش ؟

اگه منظور طول و عرض :
دو تا راه داره ! اگه توی img tag کاربر width و heightرا زده باشه خوب کافیه اون ها را بخونید و اونی که بیشترین سایز را داره ذخیره کنید اما خوب در بیشتر مواقع این مقادیر نیست ! کافیه آدرسش را به صورت همون remote بدین به تابع getimagesize و ابعاد را بگیرین.

اگه منظور حجم عکس :
باز هم دو تا راه هست ُ میشه با get_headers و جستجو به دنبال Content-Length از حجم عکس با خبر شد که این هم در برخی موارد جواب نمیده ! باید عکس را دانلود و با filesize بررسی کنید.

haniye70
جمعه 28 تیر 1392, 20:58 عصر
دو تا راه داره ! اگه توی img tag کاربر width و heightرا زده باشه خوب کافیه اون ها را بخونید و اونی که بیشترین سایز را داره ذخیره کنید اما خوب در بیشتر مواقع این مقادیر نیست ! کافیه آدرسش را به صورت همون remote بدین به تابع getimagesize و ابعاد را بگیرین.من تا حالا با این تابع کار نکردم میشه دوست عزیز یا یکی از دوستان یه مثال بزنه نحوه کار کردن با اون

مثلا من می خوام

width:300height:300
رو پیدا کنم و بریزم توی یک تابع توی مثال های php.net/
چیزی نشدم زیاد بیشتر برای نمایش سایز تصویر بود تا پیدا کردن تصویر از یک رشته


مثلا من می خوام به این صورت محتویات یک صفحه وبسایت رو چک کنم بر اساس ساز تصویرشون یعنی بگم اگه این سایز بود نشون بده



$html = file_get_html($link);

foreach($html->find('img') as $images)

echo $images->outertext . '';

Unique
شنبه 29 تیر 1392, 00:33 صبح
خوب پس منظورتون ابعاد عکس ها هستش ! خوب از همین simplehtmldom استفاده کنید ، اگه صفحه مورد نظر attribute های width و height دارند با چک کردن مقادیر زیر عکس مورد نظر را پیدا کنید :


$images->width;
$images->height;

اگر هم میخواین از تابع getimagesize استفاده کنید میتونید با استفاده از images->src$ و اینکه نسبی یا مطلق باشه (اگه نسبی باشه باید بر اساس مسیر جاری آدرس دقیقا را خودتون تولید کنید) عکس را طول و عرضش را بدست بیارن (من این روش را توصیه میکنم).

راستش توضیحات از نظر من کامل هست و اگه موضوع خاصی را متوجه نمیشین بگین تا بیشتر توضیح بدم.