PDA

View Full Version : مبتدی: چرا getimagesize() کار نمی کنه؟



thinking21
سه شنبه 16 شهریور 1389, 17:56 عصر
سلام
من رو locall وقتی که این تابع ( getimagesize ) رو اجرا می کنم کار می کنه ولی وقتی رو web server اپ می کنم کار نمی کنه ؟؟؟:متفکر:
نمی دونم چرا اینطوریه ؟؟


list($width, $height) = getimagesize($path);

binyaft
سه شنبه 16 شهریور 1389, 18:04 عصر
شاید جی دی فعال نیست

thinking21
سه شنبه 16 شهریور 1389, 18:21 عصر
شاید جی دی فعال نیست
وقتی ادرس عکسهایی که , رو وب سرور خودم هستن , بهش می دم کار می کنه :متفکر:
ولی ادرس عکسهایی که رو سرورهای دیگه اپ میکنم, بهش می دم کار نمی کنه:ناراحت:
اگر جی دی هم فعال نباشه خوب نباید با عکسهایی که رو سرور خودم هستن کار کنه..

binyaft
سه شنبه 16 شهریور 1389, 18:26 عصر
توی لوکال سرور وقتی ادرس تصاویر خارج از لوکال رو میدی کار میکنه؟

thinking21
سه شنبه 16 شهریور 1389, 18:34 عصر
توی لوکال سرور وقتی ادرس تصاویر خارج از لوکال رو میدی کار میکنه؟
اینو چک نکردم..:اشتباه:
مگه فرق می کنه؟

binyaft
سه شنبه 16 شهریور 1389, 18:43 عصر
بعضی از توابع پی اچ پی اینجوری هستن
یعنی فقط روی سرور خودمون و فایلهاش کار میکنن

thinking21
سه شنبه 16 شهریور 1389, 19:20 عصر
بعضی از توابع پی اچ پی اینجوری هستن
یعنی فقط روی سرور خودمون و فایلهاش کار میکنن
فروم ها دارن همین کار میکنن البته بعضی ها شون
مثلا وقتی یه کاربر عکس تو فروم شیر می کنه اگه پهنای عکس زیاد باشه عکس با ساز کوچیک نمایش میده
مثال:
این عکس نگاه کن
http://up.iranblog.com/Files7/0d32004bc00a4e4e956b.JPG

sama01
سه شنبه 16 شهریور 1389, 20:17 عصر
چه ربطی داره؟

شما آدرس‌هات رو جک کردی ببینی درست هست یا نه؟
در ضمن یه phpinfo بگیر ببین gd فعال هست یا نه. اگر فعال نباشه، داخل و خارج از سرور نداره. کلا کار نمی‌کنه.

در ضمن در manual خود php که دیدم، در جدولی که وجود داره نوشته: 4.0.5: URL support was added
یعنی از نگارش 4.0.5 به بعد شما می‌تونید url هم بدید. و این یعنی که مشکلی با داخل و خارج سرور نداره.

Hell Lord
سه شنبه 16 شهریور 1389, 20:46 عصر
فروم ها دارن همین کار میکنن البته بعضی ها شون
مثلا وقتی یه کاربر عکس تو فروم شیر می کنه اگه پهنای عکس زیاد باشه عکس با ساز کوچیک نمایش میده
مثال:
این عکس نگاه کن
http://up.iranblog.com/Files7/0d32004bc00a4e4e956b.JPG

من دقیقا متوجه نشدم ... مطلب جالبی بود بیشتر توضیح بدید لطفا" :متفکر:
--------------------
getimagesize
هیچ احتیاجی به جی دی ندارد!
بر خلاف دو دستور imagesx و imagesy که توابع جی دی هستند.
مطمئن هستید که کد را درست نوشته اید و پی اچ پی وب سرور شما انرا ساپورت میکند؟

binyaft
سه شنبه 16 شهریور 1389, 22:36 عصر
واللا من که قبلا این تابع رو بین توابع جی دی پیدا کرده بودم
الان که شما این حرف رو گفتی زفتم باز یه نگاه کردم http://php.net/manual/en/function.getimagesize.php
هنوز هم بین توابع جی دی بود :لبخندساده:
نمیدونم شما بر چه اساسی میگید که این تابع ربطی به جی دی نداره!!!!

binyaft
سه شنبه 16 شهریور 1389, 22:42 عصر
فروم ها دارن همین کار میکنن البته بعضی ها شون
مثلا وقتی یه کاربر عکس تو فروم شیر می کنه اگه پهنای عکس زیاد باشه عکس با ساز کوچیک نمایش میده
مثال:
این عکس نگاه کن
http://up.iranblog.com/Files7/0d32004bc00a4e4e956b.JPG

فکر نمیکنم اینطوری باشه ، به نظر من این کار رو با سی اس اس هم میشه انجام داد ، اندازه تصویر رو در یک حدود میزاریم
حالا تصویر هر چی میخواد بزرگ باشه یا کوچیک

sama01
سه شنبه 16 شهریور 1389, 23:07 عصر
حق با Hell Lord (http://www.barnamenevis.org/forum/member.php?u=139576) است.
در manual به صراحت اشاره شده:

Note: The getimagesize() function does not require the GD image library.
(در انتهای صفحه.)

پس مشکل از GD نیست. من احتمال اشتباه بودن آدرس فایل رو خیلی زیاد می‌دونم.

Hell Lord
چهارشنبه 17 شهریور 1389, 00:29 صبح
پیشنهاد میکنم این کد را به بالای صفحه اضاف کنید و ببینید خطایی بر میگرداند یا نه.

error_reporting(E_ALL);
ini_set('display_errors', E_ALL);
خروجی طول و عرض را هم بگیرید، اگر 0 بود ، آدرس فایل عکس شما اشتباه است.

thinking21
چهارشنبه 17 شهریور 1389, 07:41 صبح
ببخشید اینترنتم قطع شد به همین خاطر نتونستم پست بزنم:خجالت:


چه ربطی داره؟

شما آدرس‌هات رو جک کردی ببینی درست هست یا نه؟
در ضمن یه phpinfo بگیر ببین gd فعال هست یا نه. اگر فعال نباشه، داخل و خارج از سرور نداره. کلا کار نمی‌کنه.

در ضمن در manual خود php که دیدم، در جدولی که وجود داره نوشته: 4.0.5: URL support was added
یعنی از نگارش 4.0.5 به بعد شما می‌تونید url هم بدید. و این یعنی که مشکلی با داخل و خارج سرور نداره.

شما آدرس‌هات رو جک کردی ببینی درست هست یا نه؟
تو لوکال فکر نکنم بشه اینطور مثال ها رو چک کرد :اشتباه:




من دقیقا متوجه نشدم ... مطلب جالبی بود بیشتر توضیح بدید لطفا" :متفکر:
--------------------
getimagesize
هیچ احتیاجی به جی دی ندارد!
بر خلاف دو دستور imagesx و imagesy که توابع جی دی هستند.
مطمئن هستید که کد را درست نوشته اید و پی اچ پی وب سرور شما انرا ساپورت میکند؟

مطمئن هستید که کد را درست نوشته اید و پی اچ پی وب سرور شما انرا ساپورت میکند
اره کد درسته .
و php وب سرور هم سااپورتش میکنه چون اگر ساپورت نمی کرد نباید با عکسهای رو سرور خودم هم کار کنه
وقتی ادرس عکسهایی که , رو وب سرور خودم هستن , بهش می دم کار می کنه :متفکر:
ولی با ادرس عکسهایی که رو سرورهای دیگه اپ میکنم, کار نمی کنه:ناراحت:



فکر نمیکنم اینطوری باشه ، به نظر من این کار رو با سی اس اس هم میشه انجام داد ، اندازه تصویر رو در یک حدود میزاریم
حالا تصویر هر چی میخواد بزرگ باشه یا کوچیک

به نظر من این کار رو با سی اس اس هم میشه انجام داد ، اندازه تصویر رو در یک حدود میزاریم
حالا تصویر هر چی میخواد بزرگ باشه یا کوچیک
خوب مسئله همین جاست که من میخوام اون عکسهایی که پهناشون زیاد نیست رو با اندازه خودشون نمایش بدم ولی عکسهایی که پهناشون بزرگتره کوچکتر نمایش داده بشن
که استایل سایت بهم نریزه , با سی اس اس می شه همه عکسها رو چه بزرگ چه کوچیک
یکنواخت نمایش داد که من نمی خوام عکسها یکنواخت بشن...




حق با Hell Lord (http://www.barnamenevis.org/forum/member.php?u=139576) است.
در manual به صراحت اشاره شده:

(در انتهای صفحه.)

پس مشکل از GD نیست. من احتمال اشتباه بودن آدرس فایل رو خیلی زیاد می‌دونم.

من احتمال اشتباه بودن آدرس فایل رو خیلی زیاد می‌دونم
این ادرس اشتباه است؟


http://up.iranblog.com/Files7/04b9ed555f684b95bd2a.JPG

پیشنهاد میکنم این کد را به بالای صفحه اضاف کنید و ببینید خطایی بر میگرداند یا نه.

error_reporting(E_ALL);
ini_set('display_errors', E_ALL);خروجی طول و عرض را هم بگیرید، اگر 0 بود ، آدرس فایل عکس شما اشتباه است.

پیشنهاد میکنم این کد را به بالای صفحه اضاف کنید و ببینید خطایی بر میگرداند یا نه.

کد وارد کردم این خطاها رو می ده :



Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in /home/vol6/xxxxxx.xxx/xxxxx/htdocs/fuxxxx.php on line 670

Warning: getimagesize(http://www.xxxx.com/images/xxxx/xxxx.jpg) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /home/vol6/xxxxx.xxx/xxxxxx/htdocs/fuxxxx.php on line 670

Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in /home/vol6/xxxxxx.xxx/xxxxxx/htdocs/fuxxxx.php on line 688

Warning: getimagesize(http://www.xxxxx.com/images/xxxx/xxxx.jpg) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /home/vol6/xxxxxx.xxx/xxxxxx/htdocs/fuxxxx.php on line 688

sama01
چهارشنبه 17 شهریور 1389, 07:55 صبح
Warning: getimagesize(http://www.xxxx.com/images/xxxx/xxxx.jpg) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /home/vol6/xxxxx.xxx/xxxxxx/htdocs/fuxxxx.php on line 670آدرس نباید داخل ' یا " باشه؟



تو لوکال فکر نکنم بشه اینطور مثال ها رو چک کرد
اگر به اینترنت وصل باشید چرا نشه؟

thinking21
چهارشنبه 17 شهریور 1389, 09:08 صبح
آدرس نباید داخل ' یا " باشه؟



اگر به اینترنت وصل باشید چرا نشه؟

آدرس نباید داخل ' یا " باشه؟
منظورتون متوجه نمی شم ؟؟؟؟

اگر به اینترنت وصل باشید چرا نشه
الان دوباره چک کردم رو لوکال جواب می ده
فقط رو سرور که اپ می کنم جواب نمی ده:ناراحت:

sama01
چهارشنبه 17 شهریور 1389, 09:24 صبح
خوب پس تنها احتمال، اعمال محدود توسط هاستینگ شما است.

من فکر می‌کنم این کار با javascript منطقی‌تر باشه.
چنین پردازشی می‌تونه سمت کاربر هم انجام بشه. تا جایی هم که من به یاد دارم، در فروم‌هایی که عکس کوچک می‌شود، این کار توسط javascript صورت می‌پذیرد.

ولی جدای از این موضوع، همچنان باید بررسی کنیم که این محدودیت از کجا است و آیا امکان لغو آن وجود دارد یا خیر.

thinking21
چهارشنبه 17 شهریور 1389, 10:02 صبح
خوب پس تنها احتمال، اعمال محدود توسط هاستینگ شما است.

من فکر می‌کنم این کار با javascript منطقی‌تر باشه.
چنین پردازشی می‌تونه سمت کاربر هم انجام بشه. تا جایی هم که من به یاد دارم، در فروم‌هایی که عکس کوچک می‌شود، این کار توسط javascript صورت می‌پذیرد.

ولی جدای از این موضوع، همچنان باید بررسی کنیم که این محدودیت از کجا است و آیا امکان لغو آن وجود دارد یا خیر.
با htaccess نمی شه کاری کرد ؟:متفکر:

binyaft
چهارشنبه 17 شهریور 1389, 10:08 صبح
برای چی با htaccess ؟؟؟

thinking21
چهارشنبه 17 شهریور 1389, 10:25 صبح
برای چی با htaccess ؟؟؟
نمی دونم گفتم شاید با htaccess بشه این محدودیت رو سرور فعال کرد

sama01
چهارشنبه 17 شهریور 1389, 10:54 صبح
این محدودیت وجود دارد.
باید دنبال راهی برای رفع آن باشیم.

binyaft
چهارشنبه 17 شهریور 1389, 11:06 صبح
با مدیر سرورتون تماس بگیرید بهش بگید شاید کمکتون کنه

thinking21
چهارشنبه 17 شهریور 1389, 18:49 عصر
با مدیر سرورتون تماس بگیرید بهش بگید شاید کمکتون کنه
هاستم مجانی , مدیر سرور کجا بود :لبخند:
اصلا لینک یا ادرس ایمیل ارتباط با ما نداره :چشمک:

binyaft
چهارشنبه 17 شهریور 1389, 18:51 عصر
خوب همینه دیگه هاست های مجانی زیاد محدودیت داره

Hell Lord
چهارشنبه 17 شهریور 1389, 19:17 عصر
خب فکر کنم مشکل شما با تغییر allow_url_fopen حل شود :


ini_set('allow_url_fopen',1);

thinking21
پنج شنبه 18 شهریور 1389, 07:14 صبح
خب فکر کنم مشکل شما با تغییر allow_url_fopen حل شود :


ini_set('allow_url_fopen',1);


نه هنوز همون ارور ها را دارم:ناراحت:

Hell Lord
پنج شنبه 18 شهریور 1389, 21:09 عصر
با توجه به خطای :

URL file-access is disabled in the server configuration in....
راه حل شما آن کد بود که گذاشتم؛ اگر بازخطا وجود دارد، احتمالا سرور شما اجازه ی تغییر مقادیر را نمیدهد.

thinking21
جمعه 19 شهریور 1389, 10:03 صبح
با توجه به خطای :

URL file-access is disabled in the server configuration in....راه حل شما آن کد بود که گذاشتم؛ اگر بازخطا وجود دارد، احتمالا سرور شما اجازه ی تغییر مقادیر را نمیدهد.
متشکرم از شما وهمه دوستانی که تلاش کردن تا راه حلی برای مشکلم پیدا کنن ...:تشویق:
عید رو به اونایی که مسلمان هستن تبریک میگم و امیدوارم همه موفق باشن
من فکر کنم باید عکسهای سایت رو تو سرور خودم اپ کنم(800 تا عکس:متعجب:) یا برم یه هاست مجانی دیگه پیدا کنم:لبخند:

sama01
جمعه 19 شهریور 1389, 10:09 صبح
ولی اگر مشکل‌تان فقط کوچک‌تر نشان دادن عکس بود، می‌توانید این کار را به javascript انجام بدید.
الآن کد آماده ندارم. ولی مطمئنم که در تمام سایت‌ها، این کار از طریق این طریق انجام می‌شه.