أساسيات برمجة المواقع بال بي اتش بي كود رفع الملفات PHP File Uploading

 بي  اتش بي كود رفع الملفات
 PHP File Uploading
 بي  اتش بي كود رفع الملفات PHP File Uploading

 بي  اتش بي كود رفع الملفات PHP File Uploading

يمكن استخدام كود البي اتش بي مع كود الهتمل HTML بحيث يسنح لك برفع الملفات الى السيرفر  من جهاز المستخدم.
لمعرفة المسار المؤقت الذي يتم عليه رفع الملفات  من خلال phpinfo.php  وفي حال كنت تعمل على localhost
فهذا الرابط http://localhost/?phpinfo=1  فابحث عن السطر upload_tmp_dir  حيث يخبرك المسار المؤقت وكذلك تجد upload_max_filesize أقصى حجم للملف يمكن رفعه ويمكن تغير هذه الاعدادات من ملف php.ini 

الخطوات التي تتم لرفع  ملف في البي اتش بي.

  • يقوم المستخدم بفتح صفحة ويب الهتمل HTML ويضغط على زر رفع ملفاو استعراض الملف.
  • تظهر صفحة فيها مسار للمجلدات في جهاز المستخد يبحث المستخدم عن الملف المراد رفعه ويختاره
  • يتم عرض المسار الكامل للملف المراد رفعه من قبل المستخدم في نص .
  • يتم ارسال الملف الى المسار المؤقت.
  • سكريبت البي اتش بي يفحص هل الملف نسخ بالكامل وعندها يتم ارساله الى المسار النهائي.
  • البي اتش بي ترسل رسالة تؤكد بنجاح رفع الملف.

إنشاء صفحة رفع ملف أ و نموذج رفع الملفات.

هنا تم  استخدام الخاصية    multipart/form-data للتشفير وارسال جزء جزء والخاصية post لا تستخدم get في ارسال الملفات   
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>رفع ملف:</h3>
اختر الملف: <br />
<form action="/php/file_uploader.php" method="post"
                        enctype="multipart/form-data">
<input type="file" name="file" size="50" />
<br />
<input type="submit" value="Upload File" />
</form>
</body>
</html>


هكذا سيبدوا الكود رفع الملفات في  المتصفح


رفع ملف:
اختر الملف: 







هذا النموذج لن يعمل ولكن فقط تطبيق للكود السابق في المتصفح

إنشاء سكريبت رفع الملف بي اتش بي

توجد متغير في المتغيرات العامة في البي اتش بي واسمه $_FILES وهو عبارة عن دالة ثنائية مساعدة تستخدم لحفظ  المعلومات المتعلقة برفع الملف.وتحتوي على العديد من الخصائص وهي كالتالي.
  • $_FILES['file']['tmp_name']-اسم الملف المرفوع في المسار المؤقت
  • $_FILES['file']['name'] -الاسم الفعلي للملف المرفوع
  • $_FILES['file']['size'] - حجم الملف بالبايت
  • $_FILES['file']['type'] - نوع الملف
  • $_FILES['file']['error'] - كود الخطأ المرتبط بالملف المرفوع.
سيتم رفع في الملف الى المسار التالي /var/www/html في مثالنا وهذا الكود المرتبط بصفحة uploader.php
حيث test هو مجلد موجود في www

<?php
if( $_FILES['file']['name'] != "" )
{
   copy( $_FILES['file']['name'], "/wamp/www/test/test.txt" ) or 
           die( "Could not copy file!");
}
else
{
    die("No file specified!");
}
?>
<html>
<head>
<title>Uploading Complete</title>
</head>
<body>
<h2>Uploaded File Info:</h2>
<ul>
<li>Sent file: <?php echo $_FILES['file']['name'];  ?>
<li>File size: <?php echo $_FILES['file']['size'];  ?> bytes
<li>File type: <?php echo $_FILES['file']['type'];  ?>
</ul>
</body>
</html>

ناتج الكود السابق

Uploaded File Info:
  • Sent file: uploadedfile.txt
  • File size: 2003 bytes
  • File type: image/jpg

twitter @aalmahallawi