pary_daryayi

چند سوال در مورد آپلود فایل

13 پست در این موضوع قرار دارد

سلام دوستان .

من با آپلود فایل و ذخیره ی اون در دیتابیس مشکلی ندارم اما چند سوال :

1 - میشه فایل ها رو از طریق پوشه ای که فایل ها در اون ذخیره میشه مدیریت کرد ؟

مثلا اسامی تمام فایل ها رو بده و عملیات حذف , ویرایش و ... انجام بشه .

برای حذف از unlink و برای تغییر فایل از copy میشه استفاده کرد. ولی من با لیست کردن تمامی اسامی مشکل دارم .

2 - اگر بشه از این طریق مدیریت کرد آیا نیازی به ذخیره در دیتابیس هست ؟

ممنونم .

به اشتراک گذاری این پست


لینک به پست

1 : بله هر کاری که بخواید میتونید انجام بدید

بسیار راحت :


$dir = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);

پیشنهاد بنده , به هیچ عنوان فایل را تو بانک اطلاعاتی ذخیره نکنید

به اشتراک گذاری این پست


لینک به پست

پیشنهاد بنده , به هیچ عنوان فایل را تو بانک اطلاعاتی ذخیره نکنید

ممنونم . به چه علت ؟ من همیشه ذخیره میکردم .

به اشتراک گذاری این پست


لینک به پست

ممنونم . به چه علت ؟ من همیشه ذخیره میکردم .

فقط به یکی من اشاره میکنم , اگر سایتی دارید که کاربراین میتوانند عکس آپلود کنند , اگرفایلها رو در بانک اطلاعاتی ذخیره کنید , با گذشت زمان و افزایش کاربران قطعا متوجه سنگین شدن بانک اطلاعاتی میشین و میبینید بعد از چند وقت هندل کردن اون بسیار سخت میشه و همینطور فشار بسیار زیادی هم به سرور وارد میشه

درواقع اصلا این کار استاندارد نیست و کسی هم توصیه نمینکه که فایلها رو در بانک اطلاعاتی ذخیره کنید . پیشنهاد بنده اینه که فایلهاتونو در یک دایرکتوری قرار بدید و نهایتا اسم فایلها را در فیلد مریوطه ذخیره کنید . بصورت کلی داشتن Database کوچکتر , حتما perform بهتری داره , و حتما هم میتونید بهتر پشتیبان تهیه کنید . بنابراین اگر بتونید فقط reference فایل رو ذخیره کنید قطعا کار بهتری انجام دادید

به اشتراک گذاری این پست


لینک به پست

متوجه منظورتون شدم . من همیشه فقط نام فایل رو در دیتابیس ذخیره میکنم , ولی تصور کردم شما این رو اشتباه میدونید که تعجب کردم ...

تشکر

به اشتراک گذاری این پست


لینک به پست

من اینطور برای حذف فایل استفاده میکنم اما جواب نمیده.


$path='http://localhost/mysite/upimage/upload/';
unlink($path.$name_img);

مسیر درسته ولی میگه اجازه نمیده برای حذف .

Warning: unlink() [function.unlink]: http does not allow unlinking in C:\xampp\htdocs\mysite\upimage\delete.php on line 24

$name_img اسم و پسوند تصویر هستش .

ویرایش شده در توسط pary_daryayi

به اشتراک گذاری این پست


لینک به پست

حل شد .

در copy و unlink فقط کافیه اسم پوشه رو بنویسیم نه آدرس کامل ( البته روی لوکال )

ولی از لحاظ منطقی نباید مشکلی ایجاد میکرد !!! :mellow:

به اشتراک گذاری این پست


لینک به پست

من وقتی میخوام عکسی رو ویرایش کنم , ابتدا اونو حذف و بعد از دستور copy به این شکل استفاده میکنم و جواب میده :


@unlink('upload/'.$name_img);
copy($tem,'upload/'.$newname);

ولی الان که فکرشو میکنم , این کدی که من نوشتم در واقع ابتدا عکس رو حذف میکنه و بعد مثل move_uploaded_file عمل میکنه . :)

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

ویرایش شده در توسط pary_daryayi

به اشتراک گذاری این پست


لینک به پست

اگر منظورتون از ویرایش move کردنه که معنیش همین کاریه که فرمودید و الا می تونید فقفط کپی کنید ولی دو برتابر جا می گیره

به اشتراک گذاری این پست


لینک به پست

منظورم از ویرایش تصویر , اینه که تصویر جدید , جایگزین تصویر قبلی بشه ..

در این صورت کدی که من نوشتم با move فرقی نداره . درسته ؟

میخوام بدونم , میشه کاری کرد که مستقیما عکس رو عوض کرد ؟ بدون حذف عکس قبلی ؟

به اشتراک گذاری این پست


لینک به پست

هم روی هاست و هم روی ویندوز معنی اصلی عوض کردن حذف فایل 1 و جایگزینی فایل 2 است و الا به صورت فیزیکی چیزی جای دیگری نمی شینه و هر فایلی یک مشت کده که در اثر پردازش خروجبی های متفاوت به ما می ده

به اشتراک گذاری این پست


لینک به پست

درسته , ولی copy در دو فایل txt به معنی جایگزینی محتوای فایل 1 به درون فایل 2 هستش. تصور کردم برای image هم بشه این کار رو کرد ... :)

-------

پس در این صورت این copy با move تفاوتی نمیکنه .

میشه اول حذف کرد و بعد یا از copy استفاده کرد و یا از move . درسته ؟

ویرایش شده در توسط pary_daryayi

به اشتراک گذاری این پست


لینک به پست

وقتی یک فایل را از نقطه a به b می خواهیم move کنیم یعنی

فایل را در a کپی می کنیم

فایل را در b پیست می کنیم

فایل را در a حذف می کنیم

ولی وقتی فایل A را از نقطه a به روی فایل A در نقطه b بخواهیم move کنیم یعنی

فایل را در a کپی می کنیم

فایل موجود در b را حذف می کنیم

فایل را در b پیست می کنیم

فایل را از نقطه a حذف می کنیم

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری