آپلود عکس

سلام خدمت اساتید،
با فایل فلش یه عکس رو میفرستیم به php تا آپلودش کنه حالا میخوام php اسم فایل رو راندوم انتخاب کنه.

PHP:
<?php
if(!is_dir("./files")) mkdir("./files", 0755); 
//move the uploaded file
move_uploaded_file($_FILES['Filedata']['tmp_name'], "./files/".$_FILES['Filedata']['name']);
chmod("./files/".$_FILES['Filedata']['name'], 0777);
?>

کدش چطور میشه؟

ممنون
 

foranyone

Well-Known Member
من یه کلاس دارم که خودش عکس ها رو نام گزاری می کنه ولی نه random ! یه پیشوند میگیره و ...

به دردتون میخوره ؟
 
من یه چیزی خودم نوشتم.ببین کارت رو حل میکنه یا نه:
PHP:
function random($count){
$name="";
$letter=array_merge(range("a","z"),range("0","9"));
if($count<count($letter)){
for($i=0;$i<$count;$i++){
$name.=$letter[rand(0,count($letter))];
}return $name;}else return false;
}
اگه کد کاملش رو هم میخوای اینه :
PHP:
function random($count){
$name="";
$letter=array_merge(range("a","z"),range("0","9"));
if($count<count($letter)){
for($i=0;$i<$count;$i++){
$name.=$letter[rand(0,count($letter))];
}return $name;}else return false;
}
$name=random(7);
$suffix=explode(".",basename($_FILES['Filedata']['name']));
$name.=".".$suffix[1];
if(!is_dir("./files")) mkdir("./files", 0755);  
//move the uploaded file 
move_uploaded_file($_FILES['Filedata']['tmp_name'], "./files/".$name); 
chmod("./files/".$name, 0777);
 
آخرین ویرایش:
زاستی بگم من اینو همینجوری نوشتم.اگه چیزیش کم و کسره خودت بهش اضافه کن.
 
متشکرم از زحمتی که کشیدید اما کار نکرد.
خودتون یه اسکریپت آپلود عکس دارید که خیلی ساده باشه و آدرس مستقیم رو بده نه لینک دار باشه و راندومی چیزی هم داشته باشه ...

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

BehrouzPc

پــــادشــاه فــلــــش
در کد دوست عزیزمون فکر کنم مشکل در نظر نگرفتن پسوند فایل مورد نظر برای آپلود باشد
در ضمن دوست عزی اگه میخواهدی از این کد برای وب استفاده کنید بهتره برای آپلود نکات امنیتی رو رعایت کنید با یان کدی که نوشید با یک فایل ساده میشه سایتی که این کد توشه رو هک کرد با یک فایل با هدر تقلبی ساده
نوع فایل و mime فایل رو لا اقل چک کنید

موفق و پیروز باشید
 
در کد دوست عزیزمون فکر کنم مشکل در نظر نگرفتن پسوند فایل مورد نظر برای آپلود باشد
در ضمن دوست عزی اگه میخواهدی از این کد برای وب استفاده کنید بهتره برای آپلود نکات امنیتی رو رعایت کنید با یان کدی که نوشید با یک فایل ساده میشه سایتی که این کد توشه رو هک کرد با یک فایل با هدر تقلبی ساده
نوع فایل و mime فایل رو لا اقل چک کنید

موفق و پیروز باشید
نفهمیدم که این چه مشکلیه که رو سیستم من نمیاد ولی روبقیه سیستم ها میاد!من پسوند رو با متغیر suffix دارم میگیرم و به اسم فایل می چسبونم.
 

D.A.V.O.O.D

Member
سلام
این کار شما رو راه می اندازه :

PHP:
if(!is_dir("./files")) mkdir("./files", 0755); 
$FileName = $_FILES['Filedata']['name'];
$a = pathinfo( $FileName );
$Ext = $a['extension'];
$Name = md5( time() );
move_uploaded_file($_FILES['Filedata']['tmp_name'], "./files/$Name.$Ext");
chmod("./files/$Name.$Ext", 0777);

موفق باشی
 

BehrouzPc

پــــادشــاه فــلــــش
نفهمیدم که این چه مشکلیه که رو سیستم من نمیاد ولی روبقیه سیستم ها میاد!من پسوند رو با متغیر suffix دارم میگیرم و به اسم فایل می چسبونم.
دوست عزیز بنده کد شما رو تست نکردم
ولی معلومه که مشکلی نداره
متغیر suffix را هم ندیده بودم :wink:
منظور من مشکل کلی امنیتی آپلود بود :)
کد شما که حتما درسته :D

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

موفق و پیروز باشید
 

foranyone

Well-Known Member
در مورد امنیت آپلود بیشتر دقت نمایید چون میتونه لطمه های بسیار زیادی بزنه
در انجمن و گوگل مطالب ، کلاس ها و .. خوبی و جود داره که شدیدا دقت در این موضوع رو توصیه می کنم

به خاطر همین بحث امنیت بود که من ترجیح دادم از یه کلاس قدرتمند استفاده کنم
 
با تشکر از شما دوست عزیز ضمن تبریک تولد حضرت ابوالفضل (ع) و شما!! باید عرض کنم من بعد از پست اولی یه پست دادم که گفتم این کد رو نوشتم که مشکل مطرح شده حل شه.من هم با شما موافقم و گفتم که ایشون باید کد رو مطابق نیازهای خودشون تغییر بدن.مطمئناً این کد رو من اصلاً برای یه فایل آپلود توصیه نمیکنم.من قصدم این بود که یه تابعی برای تولید متن رندوم که قبلاً درست کرده بودم رو بزارم شاید بدرد کسی دیگه ای هم بخوره.البته برای این کار میشه از چیزای دیگه ای مثل md5 یا sha1 استفاده کرد.که این هابیشتر برای رمزنگاری pass ها استفاده میشه ولی مزیت این تابع اینه که میتونه موارد مصرف دیگه ای مثل captcha هم داشته باشه.
بهر حال من هم شدیداً روی افزایش امنیت این اسکریپت توصیه میکنم.
با تشکر
 
من اسکریپتی که نوشتم روهمین الان چک کردم.مشکلی نداره.یه اسم فایل رندوم میده با پسوندش.اگه مشکلی باشه از قسمت کد آپلود هستش.در مورد سوال دومی باید بگم که من نفهمیدم که چی میخوای.یعنی چی لینک دار نباشه؟

ضمن تشکر از تمام دوستان،
منظورم این بود که به عکس لینک نده مثل آپلود سنتر ها
فقط عکس رو آپ کنه و آدرسش رو بده البته همراه با راندوم ...

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

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

جدیدترین ارسال ها

بالا