رفتن به مطلب

تشخیص کامل شدن یک فایل آپلود شده


پست های پیشنهاد شده

سلام

مثلا قصد داریم یک فایل 40 مگابایتی رو با FTP آپلود کنیم همانطور که می دانید همان اول کار فایل در هاست ایجاد می شه بعد کم کم حجمش زیاد می شود 1.5 ، 10 ، 20 ، 30 مگ و ... تا بالاخره فایل بطور کامل به هاست انتقال پیدا می کند.

من سیستمی دارم که یک فولدر خاص رو هر یک ثانیه یک بار چک می کنه و اگر فایلی اونجا باشه اون رو برای یک سرور دیگر ارسال می کنه حالا مشکلی که پیش اومده همین هست فایل آپلود شده با FTP وقتی هنوز کامل نشده مثلا حجمش 1.5 مگ هست ارسال می شه و این کار من رو خراب کرده است.

حال سوال اصلیم این است که آیا راهی وجود داره ما بفهمیم که آیا فایل کامل آپلود شده یا خیر ؟ که بگیم اگر فایل بطور 100 درصد آپلود شده بود اون رو انتقال بده

از دوستان خواهشم می کنم من رو در این رابطه راهنمایی کنند زیرا برای کار واجبی است و من واقعا سرش گیر کردم.

با تشکر

ویرایش شده توسط karbar98
لینک به ارسال

سلام. در زمینه FTP تجربه چندانی ندارم ، اما فک کنم با این روش می تونید مشکل رو حل کنید:

قبل از آپلود فایل (در هنگام شروع آپلود) حجم دقیق فایل رو برای سرور ارسال کنید. حالا کافیه با یه دستور IF تعیین کنید که تا زمانی حجم فایل به اون مقدار دریافتی از سیستم نرسیده ، فایل رو ارسال نکنه.

ویرایش شده توسط پویابهروش
لینک به ارسال

سلام. در زمینه FTP تجربه چندانی ندارم ، اما فک کنم با این روش می تونید مشکل رو حل کنید:

قبل از آپلود فایل (در هنگام شروع آپلود) حجم دقیق فایل رو برای سرور ارسال کنید. حالا کافیه با یه دستور IF تعیین کنید که تا زمانی حجم فایل به اون مقدار دریافتی از سیستم نرسیده ، فایل رو ارسال نکنه.

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

لینک به ارسال

دللی عدم ارسال به نظرم پایین بودن فاصله زمانی هستش. چون وضع اینترنت هم جالب نیست ، مدت زمان یک ثانیه برای ارسال ، دریافت و پردازش اطلاعات کمه. (هرچند که نمیدونم! چون مگه یه داده عددی مثل حجم فایل مگه چقدر می تونه باشه :D) در هر حال اون مدت زمان یک ثانیه رو کمی افزایش بدید بعد با همون روش تست کنید ببینید جواب میده یا نه!

لینک به ارسال

دللی عدم ارسال به نظرم پایین بودن فاصله زمانی هستش. چون وضع اینترنت هم جالب نیست ، مدت زمان یک ثانیه برای ارسال ، دریافت و پردازش اطلاعات کمه. (هرچند که نمیدونم! چون مگه یه داده عددی مثل حجم فایل مگه چقدر می تونه باشه :D) در هر حال اون مدت زمان یک ثانیه رو کمی افزایش بدید بعد با همون روش تست کنید ببینید جواب میده یا نه!

پویا جان اصلا ربطی به داده متنی نداره اتصال هم بین سروری هست

شما متن من رو دوباره با دقت بخوانید من نوشته که فایلی که با FTP آپلود می شه بر عکس آپلود از طریق وب یک دفعه در هاست ظاهر نمی شه و کم کم و بصورت قطعه قطعه در هاست بوجود می آید تا تکمیل بشه حالا همین کار ما رو خراب کرده مدت زمان هم فرقی نمی کنه میکرو باشه یا دقیقه باشه ممکنه آپلود یک فایل 3 الی 4 ساعت طول بکشد.

حالا مسئله سر این هست که ما چطور تشخیص بدیم فایل در حال آپلود شدنه یا اینکه بطور کامل آپلود شده است.

لینک به ارسال

چرا شما اومدید چنین مکانیزمی قرار دادید که هر 1 ثانیه پوشه رو چک کنید؟

با cronjob از درون php این کار رو انجام میددی یا با اسفتفاده از یک application؟

لینک به ارسال

هم می تونید در اسکریپتتون از is_uploaded_file استفاده کنید و بعد شرطی بذارید که اگر آپلود کامل شد در اینصورت یه مقدار برگشت داده بشه و مثلاً اون اسکریپت انتقال سرور به سرورتون کارشو شروع کنه

لینک به ارسال

چرا شما اومدید چنین مکانیزمی قرار دادید که هر 1 ثانیه پوشه رو چک کنید؟

با cronjob از درون php این کار رو انجام میددی یا با اسفتفاده از یک application؟

باید پوشه ها هر ثانیه چک بشه علتش رو توضیح دادم

من کلا با cron jobs کار نمی کنم چون خطا زیاد داره یک سرور گذاشتم تو اتاق سرور که روش یک سری نرم افزار نصبه و کار های مختلفی رو انجام می دهد یکیش لود برخی اسکریپت ها است.

هم می تونید در اسکریپتتون از is_uploaded_file استفاده کنید و بعد شرطی بذارید که اگر آپلود کامل شد در اینصورت یه مقدار برگشت داده بشه و مثلاً اون اسکریپت انتقال سرور به سرورتون کارشو شروع کنه

با تشکر از شما

من با استفاده از حجم متغیر فایل توانستم تشیص بدم فایل کامل آپلود شده یا هنوز در حال آپلود است.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...