آژانس هواپیمایی
pop up

کپی فایل در Directory

شروع موضوع توسط shiva_mov ‏30 ژانویه 2004 در انجمن PHP

  1. shiva_mov

    shiva_mov کاربر تازه وارد

    تاریخ عضویت:
    ‏22 سپتامبر 2003
    نوشته ها:
    35
    تشکر شده:
    0
    سلام
    من مي خوام يك فايل رو كه از طريق<input type=file> دریافت کردم رو در یک Directory مشخص کپی کنم . این کار از طریق دستور( copy(filename1,filename2 امکان نداره. میشه یکی به من بگه باید چیکار کنم؟!!! :blink:
     
  2. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    منظورت رو دقیقا بگو.
    ببین وقتی شما فایلی رو با فرم می گیری. (مثلا یه فرم برای upload فایل درست کردی) این فایل پس از اینکه فرم submit شد در یک دایرکتوری tmp قرار میگیره.

    حالا شما با دستور

    کد:
    move_uploaded_file($source,$dest))
    كه در اون sourc آدرس فایل upload شده است که می تونی با دستور
    کد:
    $HTTP_POST_FILES['file1']['tmp_name']
    پیداش کنید. file1 در دستور بالا نام فیلدی است که در فرم در قسمت upload استفاده کردید.
    در $dest هم باید آدرس local فایل رو بدید .
    مثلا : home/user/data/pic/file.gif
     
  3. mitch

    mitch کاربر تازه وارد

    تاریخ عضویت:
    ‏1 ژانویه 2004
    نوشته ها:
    83
    تشکر شده:
    0

    براي Upload كردن فايل بايد يك سري نكات رو در نظر گرفت:
    1. بايد يك پوشه براي ذخيره‌ي موقت فايل‌هاي Upload شده ساخته شود. اين پوشه را مي‌توان درون c:/php ساخت.

    2. اين مقادير بايد توي فايل php.ini مقدار دهي صحيح شود:
    upload_tmp_dir = path/to/tmp/dir
    اين مسير همون پوشه‌ايست كه در بالا صحبت شد.

    file_uploads = On
    فعال كردن File Upload

    upload_max_filesize = 2M
    حداكثر اندازه‌ي هر فايلي كه Upload مي‌شود.

    post_max_size = 8M
    حداكثر اندازه‌ي داده‌ها در متد Post. مثلا اگر مي‌خواهيد 3 فايل 3MB را Upload كنيد اين مقدار بايد اندكي بيشتر از 9MB باشد.

    3. فرم HTML بايد به اين شكل باشد:


    <form method="post" action="path/to/next/file" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="250000"/>
    <input type="file" name="afile"/>
    </form>

    عبارت enctype="multipart/form-data" بايد حتما قيد شود.
    ورودي از نوع Hidden براي تعيين حداكثر اندازه‌ي فايل است. اين ورودي بايد قبل از ورودي File بيايد. فايده‌ي اين كار اين است كه محدوديت اندازه قبل از فرستادن فايل براي سرور بررسي مي‌شود.

    4. بعد از ارسال محتويات فرم، يك فايل با يك اسم موقت در پوشه‌اي كه بالا گفته شد ساخته مي‌شود. اين فايل پس از به پايان رسيدن اجراي فايلي كه در قسمت action آدرس داده شده بود به طور خودكار پاك مي‌شود. پس بايد در همين فايل تكليف اين فايل Upload شده معلوم گردد.

    5. اطلاعات مربوط به فايل‌هاي Upload شده در متغير $_FILE به صورت يك آرايه قرار دارد:
    $_FILE[…]['name']
    نام حقيقي فايل

    $_FILE[…]['tmp_name']
    نام موقت فايل در پوشه

    $_FILE[…]['size']
    اندازه‌ي فايل

    $_FILE[…]['type']
    نوع mime فايل

    $_FILE[…]['error']
    وضعيت خطاي اين فايل

    6. با استفاده از دستور move_uploded_file اين فايل را به جاي ديگري منتقل كنيد.