کد آپلود فایل! راهنمایی کنید لطفا

freelearn

Banned
سلام
من میخوام یک فایل php کوچولو برای آپلود فایل بنویستم

* تو کد نوع فایل رو تعیین کنم
* اندازه فایل رو تعیین کنم. حجم
* نام فایل رو خودم با یک متغییری تعییر بدم
* امنیت خوبی برقرار باشه

ممنون میشم منو راهنمایی کنید

با تشکر فراوان:rose:
 

o_real_love

Well-Known Member
کد کامل برای آپلود فایل

سلام عزیزم
من اینجام نگران نباش:green:
شما ابتدا یک فایل میسازی به اسم fileupload.php
بعد این کد ها رو داخلش میذاری:

PHP:
<?php


if(isset($_POST['ajx']))
    {
        $size = mysql_real_escape_string(htmlspecialchars($_FILES['pfile']['size']));
        $fname=mysql_real_escape_string(htmlspecialchars($_FILES['pfile']['name']));
        $ext = substr($fname, strrpos($fname, '.') + 1);
        if ($_FILES['pfile']['name'] != "")
                   {
                    if($size > 512000)
                    {
                        @header("Location: fileupload.php?upload=size");
                        @exit();
                    } 
                     else
                    {
                        if($ext =="zip" OR "rar")
                            {
                                $updir="plan/";
                                $upl=$_FILES['pfile']['name'];
                                $tmp=$_FILES['pfile']['tmp_name'];
                                $mvfile=move_uploaded_file($tmp,$updir.$upl);
                                if($mvfile)
                                {
                                    @header("Location: fileupload.php?send=true");
                                      @exit('');
                                }
                                else
                                {
                                    @header("Location: fileupload.php?send=failed");
                                      @exit('');
                                }
                            }
                            else
                            {
                                @header("Location: fileupload.php?upload=type");
                                @exit();
                            }
                    
            }   }
    }


?>
<html>

<head>
<meta http-equiv="Content-Language" content="fa">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>New Page 1</title>
</head>

<body>

<form method="POST" enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF'] ?>">
   <input type="hidden" name="ajx" value="0"> 
    <p align="center" dir="rtl"><input type="file" name="pfile" size="41" dir="ltr"></p>
    <p align="center" dir="rtl"><input type="submit" value="ارسال" name="B1">&nbsp;&nbsp;
    <input type="reset" value="پاک کردن فرم" name="B2" dir="rtl"></p>
    <?php if (@$_GET['upload'] == "type")
    {
    ?>
    <p align="center" dir="rtl">فرمت فایل باید <span lang="en-us">zip </span>&nbsp;یا
    <span lang="en-us">rar</span> باشد</p>
    <?php
    }
    ?>
    <?php if (@$_GET['upload'] == "size")
    {
    ?>
    <p align="center" dir="rtl">حجم فایل ارسالی بیشتر از <span lang="en-us">
    500KB</span> می باشد.</p>
    <?php
    }
    ?>
    <?php if (@$_GET['send'] == "true")
    {
    ?>
    <p align="center" dir="rtl">فایل ارسال شد</p>
    <?php
    }
    ?>
    <?php if (@$_GET['send'] == "failed")
    {
    ?>
    <p align="center" dir="rtl">فایل ارسال نشد</p>
    <?php
    }
    ?>
</form>

</body>

</html>
 
آخرین ویرایش:

freelearn

Banned
تنظیمات خاصی داره؟
چون وقتی فایل رو آپلود می کنی خطای زیر رو میده:

[LTR]
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\test\up.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\wamp\www\test\up.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\test\up.php on line 7

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\wamp\www\test\up.php on line 7
 

o_real_love

Well-Known Member
اینو الان تست کردم مشکلی نداشت
راستی یک فولدر به نام plan کنار همین فایلی که ساختی باید بسازی
 

freelearn

Banned
فولدر رو که ساختم! ولی تو سیستم من درست کار نمی کنه! حتی فایل زمیمه شده را دانلود کردم

بازم نه.......
 

sajadmaz

Member
مشکل بخاطر استفاده از دستود mysql_real_escape_string هست این دستور جز دستورات Mysql هست و باید به دیتابیس متصل باشی راههای بهتری هم برای فیلتر کردن هست
 

freelearn

Banned
کانکشن؟ به کجا کانکشین؟


کسی نیست منو راهنمایی کنه!‌
یعنی کد آپلود تصویر این قدرسخته؟
 

o_real_love

Well-Known Member
کد کانکشن

کانکشن؟ به کجا کانکشین؟


کسی نیست منو راهنمایی کنه!‌
یعنی کد آپلود تصویر این قدرسخته؟

ببین عزیزم کد کانکشن یعنی اینکه شما بتونی به بانکت متصل بشی
خب نام این عکسی که میگیری از فرمت کجا می خوای بریزی؟؟؟؟؟؟؟؟
خب تو بانکت دیگه....
درسته
حالا شما باید بوسیله کد زیر به بانکت متصل بشی تا اون error رو نده :
اینم از کد :
PHP:
$con = mysql_connect("localhost","root","");

    if (!$con)
    {
    
     die("Could not connect");
    
     }
    $db = mysql_select_db("database_name");
    
    if (!$db)
    {
    
     die("Could not db");
    
     } 

error_reporting(0);

یا میتونی اون تابع mysql_real_escape_string رو حذف کنی که اون ارور رو نده
این تابع برای امنیت بیشتر استفاده میشه :)

------
ببخشید که دیر جواب دادم
اخه اینترنتم قطع بود
 

o_real_love

Well-Known Member
ببین این کد رو بجای اون دو خط که اون تابع رو داره بذار :
PHP:
$size = $_FILES['pfile']['size'];
        $fname=$_FILES['pfile']['name'];
مطمئنم درست کار میکنه
 
آخرین ویرایش:

freelearn

Banned
خدایی درست نمی شه!‌
وقتی اون کد ها رو حذف می کنم صفحه بالا نمیاد!‌ حتی کدهایی که شما دادین! جواب نداد
 

جدیدترین ارسال ها

بالا