نمایش محتوای یک دایرکتوری با جزئیات و امکان حذف محتوا توسط PHP

محمدرضا ابراهیمی    دوشنبه، ۱ اسفند
php_dir

در این مثال، قصد دارم محتوای یک دایرکتوری در سرور را با استفاده از دو تابع opendir() و closedir() در PHP به همراه جزئیات و همچنین امکان حذف آنها نیز، نمایش بگذارم.

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

برای رفع این مسائل و کاهش این دغدغه‌ها مسلما راه‌های بسیاری همچون استفاده از FTP یا انتقال‌های مکرر به لوکال وجود دارد؛ اما راه حل کاربردی تر و به مراتب در دسترس تر، استفاده از یک دایرکتوری ساده و در عین حال مفید برای مشاهده و مدیریت محتواهاست.

ادامه را بخوانید ←

تکرار مکررات : وب، وسیله یا دغدغه؟

محمدرضا ابراهیمی    جمعه، ۲۱ بهمن
web_pathology1

این روزها اگر بخواهیم نگاهی عمیق به وضعیت وب امروزی نه درجهان بلکه در کشور خودمان بپردازیم، ناگزیر باید وارد چالش‌هایی از جنس تضاد و تناقض‌هایی شویم که گاهاٌ برای تصویر و توجیه آنها دست به دامان پارادوکس‌ها و یا حتی سفسطه‌های آنچنانی شویم!

اینکه وب، در جایگاه کنونی که برای خود در زندگی ما باز کرده و اینکه چقدر از اهمیت‌هایی برخوردار گشته، محل بحث نیست و قطعا گفتن آن نیز، تکرار کلیشه‌هاست. اما دو اصل مهمی‌که از ابتدای حیات تا کنون برای انسان حائز اهمیت بوده و هست، و در فضای مجازی وب نیز از اهمیت بسیار ویژه ای برخودار شده، حقوق انسانی و حریم شخصی ست؛ متاسفانه آینده وب ایران هر روز به دلیل فقدان همین دو اصل، هر روز خدشه بیشتری را به خود دیده و متحمل می‌شود.

ادامه را بخوانید ←

بررسی ویژگی منحصربفرد Full-Text Search در موتور InnoDB

محمدرضا ابراهیمی    یکشنبه، ۱۸ دی
mysql

نسخه اخیر MySQL این بار با ارائه موتور تواناترِ InnoDB ، که کارایی بسیار بالایی نسبت به نسخه‌های پیشین خود دارد، نشان از توجه به این موتور در کنار موتور نام آشناتر MyISAM است.

در اینکه این دو موتور چه تفاوتها و چه شباهتهایی با هم دارند، محل بحث این مطلب نیست.اما قصد دارم ویژگی‌ها و قابلیتهای بسیار خوبی رو که MySQL برای موتور InnoDB در نظر گرفته رو مورد بحث قرار بدم.

قابلیت بسیار عالی Full-Text Search به همراه آغازگر سریع ( کوئیک پرایمر ) که همگی یک مجموعه منحصربفرد رو برای این موتور تشکیل داده اند. اینکه این ویژگی با FTS موتور MyISAM چه تفاوتی دارد، و اینکه چه موارد این دو قابلیت رو به هم نزدیک میکند؛ موضوعی ست که در این مطلب قصد دارم به بررسی عمیقتر آن بپردازم.

اوراکل (Oracle) ، اخیرا دسترسی به بسیاری از ویژگی‌های MySQL 5.6 رو از طریق MySQL Labs برای کاربران این شبکه به منظور تست و ارائه دیدگاه‌های شان، راه اندازی کرده که این یک گام خوب در جهت ارتقاء سطح کارایی در نسخه ی جدید محسوب می‌شود.یکی از این ویژگی‌ها که بسیار حائز اهمیت ست، اضافه شدن امکان Full-Text Search یا به عبارتی همان FTS به موتور InnoDB می‌باشد. که موجب خواهد شد، کاربران بتوانند به راحتی ایندکسهای FULLTEXT رو روی تیبلهای InnoDB ایجاد کنند. این قابلیت به منظور نمایش محتواهایی برپایه ی متن و همچنین جستجوی بسیار سریع در آنها برای کلمات و جمله کاربرد دارد.
ساختار این ویژگی در تیبلهای InnoDB به گونه طراحی شده تا حجم بسیار بالایی از محتواهای متن-محور، به خوبی قابل مدیریت و بازبینی باشند.که از جمله این موارد درج، آپدیت و حذف کوئری‌هاست. اما در این مقاله نکته مهم، اشاره به ساختار و نحوه طراحی ویژگی FTS در موتور InnoDB ست. که قصد دارم در ادامه به این موضوع بپردازم.

ادامه را بخوانید ←

پروتوتایپ چگونه اکستنشن‌های DOM را گسترش می‌دهد؟

محمدرضا ابراهیمی    جمعه، ۱۶ دی
prototype

پروتوتایپ ( Prototype ) چیست؟ یکی از فریم ورک‌های ارائه شده برای جاوا اسکریپت، Prototype است. که به نوعی در لیست رقیبان جدی و قدر دیگر فریمورک‌ها همچون jQuery  و Mootools  محسوب می‌شود.این فریم ورک قابلیت‌هایی از جمله ارسال و دریافت، مخفی و نشان‌دادن قسمتی خاص و به روز رسانی لحظه‌ای را داراست. نکته ای که بسیار مهم است، پشتیبانی مرورگرها از این فریمورک‌هاست که در اینجا پروتوتایپ تقریبا با نسخه‌های جدید همه مرورگرهای استاندارد امروزی سازگاری دارد.

یکی از بخشهای مهم و اساسی فریمورک پروتوتایپ، اکستنشن‌های DOM هستند.  که در این مطلب سعی کردم این چگونگی رو با مفاهیم و مثالهایی توجیه کنم.

پروتوتایپ متدهای بسیار راحتی رو برای ریترن کردن عناصر توسط فانکشن $() ارائه داده؛ بطور مثال، ما برای گرفتن یک عنصر با آی دی ‘comments’ ،افزودن یک کلاس به آن و همینطور نمایش عنصر مربوطه (در صورتیکه قبلا مخفی شده باشد) ؛ خط زیر را مینویسیم:

$('comments').addClassName('active').show()

عنصر ‘comment’ متدهای مورد نظر مارو در JavaScript; که با آن آشناییم و به نوعی بومی‌ست، دارا نیست.
حالا این چطور امکان پذیره؟
در این پُست، به یافتن راهکارها و به بیانی هکِ هوشمندانه در پروتوتایپ می‌پردازم.

ادامه را بخوانید ←

تحقق رویای گرافیک خلاقانه در وب، توسط عنصر Canvas در HTML5

محمدرضا ابراهیمی    پنجشنبه، ۱۵ دی
html5_post

بی شک، یکی از ویژگی‌های خوب HTML5 ، بهره گیری از عنصری با عنوان Canvas است.
این عنصر با استفاده از جاوا اسکریپت، توانایی نقاشی‌های بیسیکِ مستقیم در صفحات وب رو به شما خواهد داد! بطوریکه نیاز شما به استفاده از نرم افزارهایی مثل فتوشاپ، کمتر خواهد شد.
عنصر Canvas بطورکلی، ۵ متد را در اختیار طراح قرار میدهد:

5 متد این عنصر:

ایجاد خطوط دو بعدی مسیری  -  ایجاد جعبه‌ها و کادرهای بسته  -  خلق مسیرهای دوار –  ایجاد کاراکترهای خاص  -  امکان افزودن تصاویر

در این مطلب ویژگی‌های این عنصر را به همراه چند مثال با هم بررسی می‌کنیم؛

ادامه را بخوانید ←

به عنوان اولین مطلب…

محمدرضا ابراهیمی    سه شنبه، ۱۳ دی
01-03-2012 05-53-15

شاید یکی از مسائلی که امروزه معضل بزرگی برای خیلی از طراحان و برنامه نویسان وب شده، دور شدن از اصول و استانداردهاست. اینکه تا چه حد این موضوع در داخل کشور رعایت شده و از اهمیت برخوردار هست، دغدغه ای ست که در این وبلاگ با موضوعات مرتبط با همین مسائل مطرح و ارائه خواهد شد.

بسیاری از طراحان وب که سعی دارند کاری اصولی و با کیفیت بالا خلق کنند، حتما با استانداردهای W3School  آشنایی نسبی دارند. آشنایی نسبی به این خاطر که، این تبعیت از اصول و قواعد در مقاطع مختلف بکار گرفته میشه و همواره سیر مستمری نداشته که موضوع بحث این پُست رو در بر نمیگیره.

ادامه را بخوانید ←