نمایش نتایج 1 تا 20 از 20

نام تاپیک: thumbnail در php

  1. #1

    thumbnail در php

    سلام
    برای اینکه عکسی که میخوام آپلود کنم قبل از آپلود سایزش و کوچیک کنم باید این تغییر سایز قبل از گرفتن محتوای عکس باشه یا بعدش؟
    کدهای مشترکی که تو اینترنت هست همشون تقریبا یه دستور هست که این هست :

    [

    <?php
    $img = imagecreatefromjpeg( "{$pathToImages}{$fname}" );
    $width = imagesx( $img );
    $height = imagesy( $img );

    // calculate thumbnail size
    $new_width = $thumbWidth;
    $new_height = floor( $height * ( $thumbWidth / $width ) );

    // create a new temporary image
    $tmp_img = imagecreatetruecolor( $new_width, $new_height );

    // copy and resize old image into new image
    imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

    // save thumbnail into a file
    imagejpeg( $tmp_img, "{$pathToThumbs}{$fname}" );
    ?>

    خط آخرش و متوجه نمیشم که دقیقا کدوم قسمت فایل هست که نشون میده؟
    ممنون میشم دوستان کسی میدونه بهم توضیح بده مرسی

  2. #2

    نقل قول: thumbnail در php

    خط اول برای خوندن تصویر JPEG شما هست که باید از مسیر تصاویر اصلی خونده بشه (اگه نوع تصویر فرق میکنه، از تابع مناسب مثل imagecreatefrompng و... استفاده کنید). خط دوم پهنای تصویر اصلی رو بدست میاره. خط سوم ارتفاع تصویر اصلی رو مشخص میکنه. خط چهارم پهنای تصویر پیشنمایش رو مشخص میکنه (باید بجای thumbWidth$ پهنا رو مشخص کنید). خط پنجم با توجه به نسبت ارتفاع به پهنای تصویر اصلی، ارتفاع تصویر پیشنمایش رو نسبت به پهناش محاسبه میکنه. خط ششم یک تصویر جدید با پهنا و ارتفاع پیشنمایش میسازه. خط هفتم تصویر اصلی رو با اندازه های جدید، در تصویر پیشنمایش کپی میکنه. خط هشتم تصویر پیشنمایش رو در مسیر تصاویر پیشنمایش با نوع JPEG ذخیره میکنه. مثالی از کاربرد کد شما:

    <?php
    $img = imagecreatefromjpeg('../images/photo1.jpg');
    $width = imagesx($img);
    $height = imagesy($img);

    // calculate thumbnail size
    $new_width = 100;
    $new_height = floor($height * ($thumbWidth / $width));

    // create a new temporary image
    $tmp_img = imagecreatetruecolor($new_width, $new_height);

    // copy and resize old image into new image
    imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

    // save thumbnail into a file
    imagejpeg($tmp_img, '../thumbs/photo1.jpg');
    ?>

  3. #3

    نقل قول: thumbnail در php

    خیلی ممنون
    پس من باید این کار و قبل از گرفتن محتوای فایلم انجام بدم درسته؟
    این کد من هست که بعد از اینکه type, mime, imagtype , فرمت و ... فایل و چک کردم با این قسمت محتوای فایلم و میگیرم و در نهایت تو دیتابیس ذخیره میکنم، الان نمیدونم باید با این کد بالا چه جوری با این کار کنم

    <?php
    $pictype=(get_magic_quotes_gpc()==0 ? mysql_real_escape_string(
    $_FILES['pic']['type']) : mysql_real_escape_string(
    stripslashes ($_FILES['pic'])));
    $fp = fopen($pictmp, 'r');
    $piccontent = fread($fp, filesize($pictmp));
    $piccontent = addslashes($piccontent);
    fclose($fp);
    if(!get_magic_quotes_gpc())
    {
    $picname = addslashes($picname);
    }
    ?>

    یعنی با کد بالا

    $_FILES['file']['name']; = $tmp_img
    و
    $tmp_img = '../thumbs/photo1.jpg'


    میشه؟

    ممنونم

  4. #4

    نقل قول: thumbnail در php

    بهتره برای امنیت بیشتر، خود تصویر رو هم با GD ذخیره کنید نه با fopen و یا move_uploaded_file و سایر روشهای مرسوم.

  5. #5

    نقل قول: thumbnail در php

    خیلی ممنونم
    میشه لطف کنید بگید fopen یا move_upload_file از نظر امنیتی چه مشکلی دارن؟

    حقیقتش جواب سوالم و نگرفتم تو کدی که گذاشتم این تغییر و باید قبل از گرفتن محتوای فایل انجام بدم یا بعدش؟ ممنون

  6. #6

    نقل قول: thumbnail در php

    مشکل اینه که اگه کد PHP توی فایل باشه، اون کدها هم توی فایلی که در پوشه تصاویر کپی میشه، باقی میمونه ولی اگه با GD تصویر رو بخونیم و یک نسخه جدید از روش تولید کنیم، کدهای PHP و... داخل تصویر حذف میشه.

  7. #7

    نقل قول: thumbnail در php

    مرسی
    حتی اگه هم mime ، type ... هم بررسی بشه باز هم میشه تو اون عکس کد پی اچ پی باشه؟
    یعنی میشه فایلی mime عکس یا پی دی اف و وررد داشته باشه باز هم محتواش کد پی اچ پی باشه؟

  8. #8

    نقل قول: thumbnail در php

    بله. MIME از روی پسوند انتخاب میشه. حتی در سیستمهایی که بطور هوشمند ازروی هدر فایلها، MIME رو تشخیص میدن هم میشه بعد از اینکه فایل سالم ساخته شد، با کمک یکسری ابزارهای خاص مثل Hex Editorها و... کدهای موردنظر رو در قسمت Data تزریق کرد.

  9. #9

    نقل قول: thumbnail در php

    مرسی خیلی ممنونم
    ببخشید یه سوال دیگه هم دارم
    GD فقط برای تصاویر هست یا فایل ها متنی مثل pdf docx... هم ازش استفاده میشه؟
    یه سوال دیگه اینکه برای هدر صفحه ای که میخوام فایل ها رو نمایش بدم چه عکس چه فایل های متنی، باید type و در نظر بگیرم برای هدر یا mime فایل را در نظر بگیرم؟
    مرسی

  10. #10

    نقل قول: thumbnail در php

    درمورد سؤال اول، GD فقط برای تصاویر کاربرد داره و برای PDF و... کلاسهای مناسب دیگه نوشته شده مثل PHPExcel و PDFLib و TCPDF و...
    درمورد سؤال دوم هم باید MIME رو در تابع header تنظیم کنید. بطور کلی هدرها با MIME سروکار دارن و پسوند اهمیتی نداره چون فقط ویندوز به پسوند حساسه و در سایر سیستمهای عامل، از روی MIME و هدرهای فایلها، نوعشون تشخیص داده میشه.

  11. #11

    نقل قول: thumbnail در php

    خیلی ممنون
    type منظورم چیزی هست که از $_FILES['file']['type'] میگیریم بود،
    یه سوال دیگه اینکه توی لوکال فایلی و آپلود میکنم و mime که بهم نشون میده با چیزی که همون فایل و رو اینترنت آپلود میکنم و نشون میده فرق داره واسه همین اون صفحه ای و که برای نمایش فایل دارم با اینکه برای هدر Mime و در نظر گرفتم فایل و تو لوکال نشون میده ولی توی اینترنت بهم نشون نمیده، باید تو این مواقع چی کار کنم؟ مرسی

  12. #12

    نقل قول: thumbnail در php

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

  13. #13

    نقل قول: thumbnail در php

    اون type که میگین، همون MIME هست. من فکر کردم پسوند فایل رو میگین. درمورد سؤال بعدی هم که فکر میکنم یه جای دیگه هم مطرح شده بود، علتش اینه که سرورتون به احتمال زیاد لینوکس هست و MIME برخی فایلها مثل docx و... توی ویندوز و لینوکس فرق میکنه. شما باید طبق اطلاعات Agent کاربر، MIME مناسب رو براش تنظیم کنید. مقصر این ناهماهنگیها هم فقط و فقط مایکروسافته!

  14. #14

    نقل قول: thumbnail در php

    مرسی
    مقداری که از $_FILES['file']['type']; و mime_content_type($_FILES['file']['tmp_name']); میگیرم دو تا مقدار جدا هست، پس فرق mime و type چیه؟
    بله خودم پرسیده بودم این سوال رو، "طبق اطلاعات Agent کاربر" یعنی چی؟
    بازم یه سوال دیگه ببخشید، برای validation ها، چه کاراکتری هست که باید از ورودشون جلوگیری کنم تا نشه کد php وارد فرم های ورودی بشه؟
    مرسی

  15. #15

    نقل قول: thumbnail در php

    دقت کنید که اولی بر اساس پسوند فایل داره تصمیم میگیره و دومی بر اساس اطلاعاتی که در یک فایل به اسم magic.mime در PHP ذخیره شده و ضمناً تاع mime_content_type منسوخ شده و بهتره از Extension مخصوص این کار یعنی FileInfo استفاده کنید؛ هرچند همون اندیس type فایل آپلود شده کفایت میکنه. اطلاعات Agent کاربر هم توسط ['SERVER['HTTP_USER_AGENT_$ قابل دستیابیه.

  16. #16

    نقل قول: thumbnail در php

    مرسی
    دستور echo $_SERVER['SERVER_NAME']; توی لوکال فقط بهم میده "localhost" و روی اینترنت میده "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36" از این دیتا چه جوری باید تشخیص بدم که چه Mime در نظر بگیرم؟

  17. #17

    نقل قول: thumbnail در php

    این اطلاعات داره میگه ویندوز 7 نسخه 64 بیتی دارین و مرورگر شما Chrome نسخه 30.0.1599.69 هست. قبلاً یک کلاس برای تشخیص مرورگر و سیستم عامل از روی User Agent نوشته بودم که اگه توی تالار جستجو کنید، پیداش میکنید.

  18. #18

    نقل قول: thumbnail در php

    کلاً Agent اگه خواستین ببینید چی میگه، تو این سایت وارد کنید:
    http://www.useragentstring.com

  19. #19

    نقل قول: thumbnail در php

    اینم فهرست کامل همه User Agent ها
    http://www.useragentstring.com/pages...gentstring.php

  20. #20

    نقل قول: thumbnail در php

    مرسی
    راستش من متوجه نشدم الان این Agent چه ربطی داره به این موضوع، یعنی رو هر دستگاه با توجه به نوع سیستم عامل و بروزر، نوع هدری که در نظر میگیره فرق داره؟

تاپیک های مشابه

  1. استفاده از PHP در IIS6
    نوشته شده توسط mostafa_pk در بخش PHP
    پاسخ: 4
    آخرین پست: پنج شنبه 26 اسفند 1395, 21:41 عصر
  2. ساخت thumbnail با php و GD
    نوشته شده توسط tarsiran در بخش PHP
    پاسخ: 2
    آخرین پست: دوشنبه 04 مرداد 1389, 21:36 عصر
  3. php builder
    نوشته شده توسط در بخش PHP
    پاسخ: 9
    آخرین پست: جمعه 25 بهمن 1387, 23:20 عصر
  4. php بهتر است یا ASP.NET
    نوشته شده توسط mahmoodreza در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: چهارشنبه 24 مهر 1387, 22:25 عصر
  5. learning PHP
    نوشته شده توسط shabnam در بخش PHP
    پاسخ: 25
    آخرین پست: شنبه 08 فروردین 1383, 05:43 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •