karbar98

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

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

ارسال شده در (ویرایش شده)

سلام

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

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

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

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

با تشکر

ویرایش شده در توسط karbar98
0

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


لینک به پست

ارسال شده در (ویرایش شده)

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

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

ویرایش شده در توسط پویابهروش
1

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


لینک به پست

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

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

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

1

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


لینک به پست

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

1

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


لینک به پست

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

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

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

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

1

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


لینک به پست

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

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

3

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


لینک به پست

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

3

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


لینک به پست

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

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

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

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

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

با تشکر از شما

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

0

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


لینک به پست

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

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

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

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


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

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

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


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