September 12, 2005 at 08:26 pm
همان گونه که می دانید تصاویر نه تنها اطلاعات را بصورت واضح در اختیار کاربر قرار می دهد، بلکه در بسیاری از موارد، زیبایی خاصی را به صفحه می بخشد. php به عنوان یک زبان سمت سرویس دهنده، قادر است، تصاویر را ایجاد و یا حتی آن ها را دستکاری کند. برای این منظور از توابعی بهره می گیرد، که در کتابخانه ایی به نام GD قرار دارند. (این کتابخانه از اینجا قابل دریافت است) در این پست قصد داریم جهت آشنایی با توابع آن ها را با هم مرور کرده و در پست های آینده آن ها را بکار گیریم.
این کتابخانه از فرمت های JPEG، PNG و WBMP پشتیبانی می کند. شاید در مورد دو فرمت اولیه اطلاعت زیادی داشته باشید امان در مورد فرمت WBMP همین اندازه بدانید، که در دستگاه های بی سیم همراه این فرمت کاربر زیادی دارد. گویا در گذشته این کتابخانه فرمت GIF را نیز پشتیبانی می کرده اما به دلیل شکایات، این فرمت متعاقبا کنار گذاشته شده است و از طرف gd ساپورت نمی شود.
فعال سازی این کتابخانه تحت ویندوز بسیار ساده است. پس از دریافت نسخه تحت ویندوز فایل dll آن را به پوشه ی extensions انتقال دهید، حال با یک ادیتور متن فایل php.ini را باز کنید عبارت زیر را که در ناحیه Windows Extensions قرار دارد بیابید و علامت سیمیکلون را از ابتدای آن پاک کنید. در انتها فایل را ذخیره و سرور را reset کنید تا تغییرات به سیستم اعمال شود. فعال سازی این کتابخانه در لینوکس کمی دشوارتر است. برای انکه از سطح متوسط مقاله خارج نشویم از توضیح آن خودداری می کنم. ضمنا فکر کنم برنامه نویسی که با لینوکس کار کنه این مفاهیم براش مقدماتی باشه و راه کار رو بدونه
;extension=php_gd.dll
اگر مراحل را درست انجام داده باشید بخش جدیدی تحت نام gd در پیکربندی PHP اضافه خواهد شد. می توانید به کمک تابع phpinfo از صحت کار اطمینان حاصل کنید. قبل از اینکه تصویر را بسازیم باید یک Canvas یا همان بوم نقاشی ایجاد کنیم. تابعی که بدین منظور استفاده می شود imagecreate نام دارد که دو آرگومان دریافت می کند و به شکل زیر به کار می رود: ادامه مطلب …
August 17, 2005 at 08:07 pm
با توجه به همه گیر شدن طرح های مبتنی بر CSS در ابعاد وسیع، امروزه هر طراح باید بکوشد تا شگردها و ترفندهای این مقوله، یا به عبارتی راه کارهای بهینه سازی استفاده از CSS را فراگیرد و تنها به استفاده از آن در طرح هایش بسنده نکند. در مباحث قبلی نکاتی به اجمال بیان شد. در این پست قصد داریم نکاتی در باب مختصر نویسی کدهای CSS را، با هم مرور کنیم.
اغلب افراد برخی از این مختصر نویسی ها را می دانند اما عده کثیری از آن ناآگاهند. با این راهکار، چندین مشخصه در یک خط خلاصه می شود. بنابراین نه تنها مختصر نویسی صفت ها و عناصر CSS، موجب کاهش حجم فایل و بارگذاری زودتر آن می شود، بلکه تا حد قابل ملاحظه ایی از شلوغی و نامرتبی فایل می کاهد (درمورد نکته دوم در پست های آینده مفصل بحث خواهد شد) چندین ویژگی برای مختصر نویسی موجود است. برای جزئیات بیشتر پیشنهاد می کنم مشخصات W3C CSS را مطالعه کنید (این بدبخت بیچاره W3C چرا فیلتر شده؟ البته بدبخت ماییم که نمی توانیم از امکانات آن استفاده کنیم)
در اولین مبحث به رنگ ها می پردازیم. بهترین روش عمومی برای کاربرد رنگ در CSS استفاده از آن در مبنای شانزده (هگزادسیمال) بین 00 تا FF است، که قبل از آن نیز علامت پوند (#) می آید. هر رنگ 6 رقم طول دارد، دو رقم برای هر بایت.
دو رقم اول برای درجه رنگ قرمز، دو رقم دوم درجه رنگ سبز و و دو رقم آخر شدت رنگ آبی را نشان می دهد. نکته ای که بیشتر افراد نمی دانند این است که هر رنگ مبنای 16 از سه جفت تشکیل شده است، شما می توانید یک رقم از هر جفت رنگ امن را حذف کنید. برای مثال مقدار 336699 با 369 برابر خواهد شد. ادامه مطلب …
August 16, 2005 at 01:05 am
نمی دونم از کجا شروع کنم. گفتن از این همه لطف و محبت های شما یا گفتن از اون همه ایمیل های پر محتوا و زیبا. قطعا اگر دوباره شروع نمی کردم آخر بی مرامی بود. نمی تونستم و رسمش هم این نبود که در برابر این همه خواهش و درخواست، جواب رد بدم. امیدوارم بتونم یه روزی از شرمندگی همتون در بیام.
جدای از تمام پیشنهادات دوستان، خودم هم به این نتیجه رسیدم که نباید همه را فدای آن سه، چهار نفر کرد. خوشالم، نه از این بایت که برگشته ام، از این که می دانم چه دوستانی در اینجا دارم (دریغ که زیادند و باز حافظه ام معیوب، وگر نه دونه به دونه نام می بردم) اگر عده انگشت شماری کاسه کوزه را در هم می شکنند، هستند شمار کثیری که تکه تکه آن کوزه شکسته را از نظر محو کنند. منتظر باشید.
August 13, 2005 at 09:50 pm
الوان وب، تعطیل! بله درسته، الوان وب درش تخته شد. گرفتاری های زندگی روزمره اون قدر زیاد هست که دیگر جایی برای گرفتاری ها ی اینجا نمی مونه. لابد می پرسید یه وبلاگ مگه چه گرفتاری داره، روزی نیم ساعت بیشتر وقت می خواد؟
من حاضرم روزی سه ساعت رو هم پای این وبلاگ بزارم اما اگر بدونم برای چه افرادی دارم می نویسم، برای چه افرادی دارم کار می کنم. افرادی که یک راست کلیک و کپی روی مطالب اینجا کارشون رو راه می ندازه یا افرادی که کارهای طراحی و برنامه نویسی من رو به اسم خودشون به این و اون می فروشن؟ درسته واسش به من پول دادی ولی حق نداری اسم خودت رو روش بزنی. چاره ای نیست، ایرانی جماعت همه جا باید خودش رو اینجوری نشون بده دیگه. مگه غیر از اینه؟ این تازه یکی از نمونه هاشه.
اخیرا این چنین نوآوری های دوستان به حد نهایی خودش رسیده، و واقعا با مشاهده این کارها بد جور از کاری که می کنم دلسرد شدم. تا حالاش هم از کارم پشیمون نیستم، یه ده، یازده ماه وبلاگ نویسی در اینجا، تجربه های خوبی هم برام در پی داشت. تا حالا اگر کسی مطلبی کپی کرد یا کسی طرحی رو به نام خودش زد، نوش جانش ولی اینو هم بدونه این شده نتیجه ی کارش! خیلی ها می گن هر وبلاگ یه عمر مشخصی داره و بعد از یه مدتی تموم می شه ولی بنظرم یک نویسنده که دلش به خیلی ها گرمه، می تونه سالیان سال هم بنویسه.
همین جا از دوستانی که تو این مدت به بنده ارادت داشتن و با پیشنهادات خودشون راهنمای من بودن تشکر می کنم (چون می ترسم کسی رو از قلم بیندازم، نام نمی برم) از این به بعد هم در اینجا هیچ مطلبی از من نگاشته نخواهد شد، در عوض اگر فرصتی پیش بیاد مقالاتم رو در مورد طراحی وب به زبان انگلیسی در Stylegala منتشر خواهم کرد.
فقط افرادی که دنبال قالب رایگان هستن در دو سه روز آینده یه سری به دسته قالب های رایگان بزنن شاید اونجا تحفه ای یافتند. همچنین دوستانی که مایل هستن از نوشته های قدیمی اینجا استفاده کنن حتما صفحات رو ذخیره کنن. موفقیت در تمام مراحل زندگی را برایتان آرزومندم. با تشکر مرتضی الوانی
August 5, 2005 at 02:19 pm
در اکثر برنامه های جامع شمارش بازدیدکننده، قابلیت نمایش افرادی که آنلاین هستند تعبیه شده. ما در اینجا قصد نداریم اسکریپتی را معرفی کنیم که بلافاصله پس از دریافت، آن را به سرویس دهنده خود منتقل و از آن استفاده کنید. جنبه ی آموزشی ساختار این اسکریپت و نحوه کارش برایمان مهم است. (سطح مقاله: مبتدی و کمی بالاتر از آن) به راحتی می توان اطلاعات مربوط به این اسکریپت را در یک فایل متنی ذخیره نمود اما برای انعطفاف پذیری و قدرت مانور بیشتر از بانک اطلاعاتی MySQL استفاده می کنیم. در ابتدای کار برای ساخت این جدول کدهای SQL زیر را در بانک اطلاعاتی خود وارد کنید:
CREATE TABLE online_count (
ip char(15) NOT NULL,
TMP timestamp(14),
PRIMARY KEY (ip)
);
واضح است که این کدها یک جدول به نام online_count با دو فیلد، یکی برای زمان و دیگری برای آدرس ip ایجاد می کند. بخش اصلی این اسکریپت به شکل زیر است: ادامه مطلب …
Page: 1 |
... |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
... |
32