یک وبلاگ دیگر از یک برنامه نویس دیگر
بایگانی برای آوریل, 2010
دانلود فایل با قابلیت Resume در PHP
فروردین ۲۱م
کد انتهایی یه مشکل کوچک داشت که اصلاح شد :)
ایندفعه،میخوام یه چیزی بنویسم درباره دانلود (آخرش هم نفهمیدم که این کلمه رو به فارسی چی بگیم!! بارگزاری،بارگیری، گرفتن ..) خیلی وقتها میخوایم که یه فایل رو محافظت کنیم که همینجوری دانلود نشه، یعنی حتما اسم کاربری بخواد، یا اینکه مطمئن شیم که فایل حتما از تو صفحه خودمون دانلود میشه که آمار درست باشه.
یه راه ساده وجود داره، که بیشتر از اون استفاده میشه،اونهم به سادگی گذاشتن فایل در یک پوشه خارج از دسترسی مستقیم (مثلا خارج از ریشه وب سرور، یا محافظت شده توسط وب سرور،مثلا آپاچی با کمک فایل .htaccess ) و بعد به پس دادن فایل از طریق کد به کاربر. مثلا برای PHP میتونید همچین کدی بنویسید :
//Before this point you should check everything
//include user authenticate and any thing else
$result=@readfile('/path/to/file');
if ($result===false)
//Error :(
else {
// $result contain byte count
}
این روش بد نیست، کاربر نمیتونه لینک مستقیم بگیره، که خوب این معمولا برای خیلی ها مهمه، خصوصا با این وضع وبلاگها و سایتهای ایرانی که متخصص کپی/پیست و گرفتن لینک و گذاشتن به اسم خودشون حتی بدون زحمت آپلود مجدد هستن.
اما یه عیب بزرگ داره،این دانلود دیگه قابلیت resume نداره. منم که دقیقا میتونم کاربر دیال آپی رو درک کنم،مخصوصا اینکه تو ایران بزرگ شدم!! خوب این شد که نشستم و بررسی کردم که چطوری این مشکل رو هم حل کنم. البته این کارو خیلی وقت پیش انجام دادم، و چون امروز خواهر زاده ام گیر داده بود، پیداش کردم و یادم افتاد که میشه اینجا بنویسمش،و خصوصا اینکه این روزا همش تو فکر اینم که چی بنویسم که ارزش نوشتن داشته باشه .
ادامه مطلب
انتقال اطلاعات از CSV به MySQL
فروردین ۱۱م
بعضی وقتها یه سری کارهای کوچیک میتونه دردسر ساز باشه. مثلا من امروز نیاز داشتم که یه فایل CSV رو توی یه جدول MySQL ببرم. واسه فایلهای کوچیک معمولا از PHP استفاده میکردم، ایندفعه هم قصد داشتم از Perl استفاده کنم، چون فایل یه چیزی در حدود ۳۰ مگا بود و خواستم که یه کدی هم با Perl بنویسم. ولی آخرش با پرل هم ننوشتم :)
خود MySQL میتونه اینکارو به راحت ترین روش بدون نیاز به هر گونه ابزار جانبی انجام بده. خیلی ساده کنسول MySQL رو باز کنید، مثلا با یه دستوری مثل این :
mysql -u root -p -h 127.0.0.1
–اگه دقت کرده باشید من Host رو هم به صورت IP دادم،نمیدونم چه مرگشه همینجوری اگه IP ندم، مثلا ولش کنم به صورت پیشفرض یا localhost سعی میکنه از طریق socket اتصال برقرار کنه که نمیتونه :(منظورم لینوکسه، ویندوز مشکلی نداشتم البته اون موقع که ویندوز کار میکردم :) کسی میدونه راه حلش چیه؟؟)–
بعد از انتخاب دیتابیس (معمولا اینطوری : use database_name ) میتونید از این دستور :
ادامه مطلب
سال نو مبارک
فروردین ۱م
فقط خواستم بگم سال نو مبارک.
سال نو که شد یه نگاه کردم و دیدم هر چی که خواستم خدا بهم داده. یه زندگی فوق العاده آروم و شاد،یه خانواده کوچولو و دوست داشتنی. یه لینوکس خوشگل و بدون دردسر!! (شوخی نمیکنم به خدا!!!) آرامش و اعصاب راحت (هم تو زندگی هم تو عالم کامپیوتر) و ….
بیتا خانومم خوب و شاد و سرحاله ،قربونش برم شده یه پارچه آتیش. کلا اینکه خیلی خوشحالم و خیلی سال خوبی رو امیدوارم واسه همه و خودم.
خدا رو شکر که دو بیت مغزم جا نداره بدبختیاشو بشمره کلا فراموششون کرده. (اون نیمسوزه هم که جدیدا داره وبلاگ مینویسه وقت نداره که سر بخارونه چه رسد به اینکه بدبختی بشمره!!!)
اما یه چیزایی هست که ناراحتم میکنه و مثلا یکیش دوستمه (هم خونه ای دوران دانشگاهم) که بعد از ۱۰ سال چند روز پیش دیدمش، MS داره (واقعا این MS تو عالم واقعی هم بده دقیقا شبیه عالم کامپیوتر خدا نصیب هیچ کس نکنه!!!) دعا کنید واسه اون و همه مریضا ، من که دعام از یه وجب بالاتر از پیشونیم گم و گور میشه، ولی خوب شما دعا کنید. حالا دوست من نه،یه نگاه کنید دور و ورتون کلی آدم هست که نیاز دارن به همنوعاشون. هر کدوم یه جوری…. دریغ نکنیم اونچیزی که میتونیم در اختیار دیگران بذاریم حتی یه همدردی. یه دید بدون اینکه هدفمون شمردن بازدیدا باشه… (اوهو!! منو چه به این حرفای گنده گنده!! این حرفا رو فقط پدرم حق داره بگه اونم چون روم نمیشه بهش بگم نگو!!)
بازم میگم. سال نو مبارک!!!!
راستی بد گفتم از MS ولی امروز کار قشنگی کرد و اونم گذاشتن عکس سی و سه پل بود توی صفحه bing.com-البته ایرانو تو لیست کشوراش نداره ها!!!- منتظرم شاید گوگل هم یه کاری کرد بالاخره این اولین نوروز بین المللیه خوب!
گوگل هم مث هر سال اینکارو کرد ولی برای گوگل فارسی و میشه گفت که اصولا کاری نکرده! خوب به هر حال.






