رفتن به مطلب

karbar98

عضو سایت
  • تعداد ارسال‌ها

    84
  • تاریخ عضویت

  • آخرین بازدید

نوشته‌ها ارسال شده توسط karbar98

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

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

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

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

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

    با تشکر از شما

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

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

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

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

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

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

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

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

    • امتیاز 1
  4. سلام

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

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

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

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

    با تشکر

  5. با سلام

    دو سوال داشتم

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

    دوم سرعت انتقال در این روش معمولا چقدر است ؟ یعنی می شه انتظار داشت مثلا با پورت 80 مگابیت سرور های ایرانی فایل با مثلا بالای 10 مگ بین دو سرور منتقل شود ؟



    <?php
    $uploaddir = realpath('./') . '/';
    $uploadfile = $uploaddir . basename($_FILES['file_contents']['name']);
    echo '<pre>';
    if (move_uploaded_file($_FILES['file_contents']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
    } else {
    echo "Possible file upload attack!\n";
    }
    echo 'Here is some more debugging info:';
    print_r($_FILES);
    echo "\n<hr />\n";
    print_r($_POST);
    print "</pr" . "e>\n";
    ?>

  6. با سلام

    در رابطه با ایجاد ftp با php دو سوال داشتم.

    - 1 - آیا می شود برای بخش آپلود محدودیت گذاشت تا فقط فایل هایی با پسوند مجاز آپلود شوند ؟

    - 2 - آیا می شود کار کرد که پس از آپلود و انتقال فایل به سرور یک صفحه php اتوماتیک لود شود ؟

  7. کدهای شما چرا به این صورت است ؟

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

    پست خودتان را ویرایش کنید و سئوال را دقیق تر بپرسید

    سوال من کاملا واضح است اما برای روشن شدن موضوع مجددا آن را ارسال می کنم.

    فرض بفرمایید یک متغیر به نام $date موجود داریم وقتی آن را چاپ می کنیم عبارت زیر ظاهر می شود :


    1390/06/16
    1392/06/16

    همانطور که مشاهده می فرمایید دو تاریخ در صفحه چاپ شده یکی 1390/06/16 و دیگری 1392/06/16 هدف اصلی من این است که این دو تاریخ رو از هم جدا کنم و هر کدام را به یک متغیر دهم به کد زیر توجه کنید :


    echo $date1; // 1390/06/16
    echo $date2; // 1392/06/16

    در حالتی که تاریخ های مورد نظر ثابت باشند کار جدا سازی بسیار ساده است اما مشکل اصلی اینجاست که این دو ثابت نیستند و برای کاربر متفاوت است.

  8. سلام دوستان

    یک متغیر داریم که وقتی آن را چاپ می کنید اطلاعات آن بصورت زیر نمایش داده می شود :


    [left]echo $date;[/left]



    [left]1390/06/16[/left]


    [indent=1]

    [left]1392/06/16[/left]

    [/indent]

    سوال اصلی من اینجاست که چطور باید تاریخ اولی رو از تاریخ دومی جدا کنم در حالی که اعداد ثابت نیستند و برای هر کاربر کاملا متفاوت است ؟

    به عنوان مثال :



    [left]echo $date1; // 1390/06/16[/left]


    [left]echo $date2; // 1392/06/16[/left]

    پیشاپیش تشکر می کنم

  9. با تشکر از دوستان

    همانطور که جناب lord_viper اشاره کردند هر فایلی قابل تبدیل به باینری رو داره و این کار در زبان هایی مانند c# به راحتی انجام می شود به عنوان مثال کد زیر فایل صورتی رو به باینری تبدیل می کنه ولی برای php من خیلی جستجو کردم اما چیزی پیدا نشد ولی مطمئن هستم امکانش هست.




    int c = 0;//the counter
    string bin = "";//result
    byte[] bytes = System.IO.File.ReadAllBytes("filename");//get all bytes of file
    foreach (byte b in bytes)
    {
    int n = b;
    for (int i = 128; i >= 1; i /= 2)
    {
    bin+= (n / i).ToString();
    n = n % i;
    }
    bin+= Environment.NewLine;
    if (C++‎‎‎ % 100 == 0)//invoke DoEvent for each 100 bytes and report the perSentage
    {
    this.Text = ((100 * c) / bytes.Length).ToString() + "% completed...";//report the perSentage
    Application.DoEvents();//keep application responcing
    }
    }
    System.Media.SystemSounds.Exclamation.Play();//alarm completing
    textBox1.Text = bin;

  10. کار کمی سخت شده

    تعداد کاراکترهای هگز شما ثابت هست؟

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

    تعداد کاراکتر ها هم متاسفانه مشخص نیست مثلا کد hex ممکنه 20 کاراکتری باشه یا ممکنه 100 کاراکتری باشد.

    کلا برا شناسایی hex می تونی از این pattern استفاده کنی

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

    ممنون اما مشکل اینجاست تعداد کاراکتر ها مشخص نیست.

  11. من دقیقاً نمی دونم که این get‌ از کجا وارد میشه. فرض کنیم از یه فرم با متد get گرفته بشه. خب؟

    با تشکر ز شما

    اما اطلاعات از url گرفته می شود بدین صورت :

    http://site.com/posts.php?id=salam73616c616d

    خب ظاهرا این مقدار هگز وسط یک جمله یا متن هست که با متد Get ارسال میشه معمولا ابتدای کدهای هگز $ یا # یا % داره که از اون طریق شناسایی میشه

    در غیر این صورت بایید یک رجکس بنویسین که این کارو براتون انجام بده

    یعنی کلماتی رو که از( 0-9 و a-f )تشکیل شدن درون متن رو به عنوان هگز در نظر بگیره

    دقیقا مد نظرم همین روش دومی است که نام بردید.

    آیا مثالی در این رابطه موجود است ؟

  12. این رشته چه جور تولید میشه؟ بصورت دستی نوشته میشه یا بوسیله ی تابع ایجاد میشه؟

    دقیقا دستی نوشته می شه و توسط get از آدرس گرفته می شود.

    تا جایی که من می دونم باید به کد یک مشخصه بدید مثل % در اول و آخرش یا آکولاد و تعریف کنید که مقادیر داخل معرفه مورد نظر انکد بشند

    درسته این هم امکان پذیره اما هیچ راهی نداره بتوان بدون در نظر گرفتن کارکتر خاصی کد hex رو تشخیص داد ؟

  13. سلام دوستان

    آیا روشی وجود دارد که ما بتوانیم چندین فایل php رو از سایتی به سایتی دیگر منقل کنیم ؟

    مثال زیر رو در نظر بگیرید :

    http://site.com/file.php


    <?php
    echo 'salam';
    ?>

    حالا ما بتوانیم کد بالا رو در سایت دیگری اینکلود کنیم :


    <?php
    include('http://site.com/file.php');
    ?>

    یعنی تمامی کد های صفحه file.php رو بتوانیم اینکلود کنیم و اگر امکان این کار وجود دارد روش هایی هم هست که بتوان امنیت این کار را بالا برد ؟

  14. سلام دوستان

    فرض کنیم عبارت زیر را داریم :

    salam chetori ?73616c616d

    یا

    salam 73616c616d chetori ?

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

    ممنون می شوم دوستان راهنمایی کنند.

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

    لینکی برای ثبت نام قراره بگیره و پس از کلیک روی آن پنجره دیالوگ مربوط به ثبت نام باز شود

    لینکی برای ورود کاربران قرار بگیره و پس از کلیک روی آن پنجره دیالوگ مربوط به ورود کاربران باز شود

    اما با کد بالا فقط می شه یک دیالوگ باکس ساخت نه چند تا امیدوارم متوجه منظور من شده باشید.

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