اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

هذا البرنامج يقوم برفع ملف وارساله للقاعدة

كيف يمكن تغيير اسم الملف ( اسم فريد )  ليتم تخزينه بهذا الاسم مثلا

$fileName = substr(md5(uniqid(rand(), true)),3,10);

كيف يمكن تعديل الكود

<?php 
$uploadDir = 'uploads/'; 
$response = array( 
    'status' => 0, 
    'message' => 'Form submission failed, please try again.' 
); 
 
// If form is submitted 
if(isset($_POST['name']) || isset($_POST['email']) || isset($_POST['file'])){ 
    // Get the submitted form data 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
     
    // Check whether submitted data is not empty 
    if(!empty($name) && !empty($email)){ 
        // Validate email 
        if(filter_var($email, FILTER_VALIDATE_EMAIL) === false){ 
            $response['message'] = 'Please enter a valid email.'; 
        }else{ 
            $uploadStatus = 1; 
             
            // Upload file 
            $uploadedFile = ''; 
            if(!empty($_FILES["file"]["name"])){ 
                 
                // File path config 
                $fileName = basename($_FILES["file"]["name"]); 
                $targetFilePath = $uploadDir . $fileName; 
                $fileType = pathinfo($targetFilePath, PATHINFO_EXTENSION); 
                 
                // Allow certain file formats 
                $allowTypes = array('pdf', 'doc', 'docx', 'jpg', 'png', 'jpeg'); 
                if(in_array($fileType, $allowTypes)){ 
                    // Upload file to the server 
                    if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ 
                        $uploadedFile = $fileName; 
                    }else{ 
                        $uploadStatus = 0; 
                        $response['message'] = 'Sorry, there was an error uploading your file.'; 
                    } 
                }else{ 
                    $uploadStatus = 0; 
                    $response['message'] = 'Sorry, only PDF, DOC, JPG, JPEG, & PNG files are allowed to upload.'; 
                } 
            } 
             
            if($uploadStatus == 1){ 
                // Include the database config file 
                include_once 'dbConfig.php'; 
                 
                // Insert form data in the database 
                $insert = $db->query("INSERT INTO form_data (name,email,file_name) VALUES ('".$name."','".$email."','".$uploadedFile."')"); 
                 
                if($insert){ 
                    $response['status'] = 1; 
                    $response['message'] = 'Form data submitted successfully!'; 
                } 
            } 
        } 
    }else{ 
         $response['message'] = 'Please fill all the mandatory fields (name and email).'; 
    } 
} 
 
// Return response 
echo json_encode($response);
?>

 

Recommended Posts

  • 1
نشر

يمكنك جلب امتداد الملف عن طريق تقسيم اسم الملف بهذا الشكل 

$name = explode('.', $_FILES["file"]["name"]);

ثم يمكنك برمجة كود ما ليقوم بوضع اسم بشكل عشوائي ويمكن استخدام الكود الذي أرفقته أنت بهذا الشكل 

$fileName = substr(md5(uniqid(rand(), true)),3,10);

ثم يمكنك استخدام دالة end لجلب أخر عنصر في المصفوفة بهذا الشكل 

$end = end($name);

ثم يمكنك دمج المتغيرات ببعضها بهذا الشكل 

$name = explode('.', $_FILES["file"]["name"]);
$fileName = substr(md5(uniqid(rand(), true)),3,10);
$end = end($name);
$newName = $fileName . '.' . $end;

ثم في دالة move_uploaded_file يمكنك وضع الاسم الجديد 

move_uploaded_file($_FILES["file"]["tmp_name"], $newName);

 

  • 0
نشر
بتاريخ 10 ساعات قال بلال زيادة:

يمكنك جلب امتداد الملف عن طريق تقسيم اسم الملف بهذا الشكل 


$name = explode('.', $_FILES["file"]["name"]);

ثم يمكنك برمجة كود ما ليقوم بوضع اسم بشكل عشوائي ويمكن استخدام الكود الذي أرفقته أنت بهذا الشكل 


$fileName = substr(md5(uniqid(rand(), true)),3,10);

ثم يمكنك استخدام دالة end لجلب أخر عنصر في المصفوفة بهذا الشكل 


$end = end($name);

ثم يمكنك دمج المتغيرات ببعضها بهذا الشكل 


$name = explode('.', $_FILES["file"]["name"]);
$fileName = substr(md5(uniqid(rand(), true)),3,10);
$end = end($name);
$newName = $fileName . '.' . $end;

ثم في دالة move_uploaded_file يمكنك وضع الاسم الجديد 


move_uploaded_file($_FILES["file"]["tmp_name"], $newName);

 

جربت الكود لكن هناك مشكلة

<?php
$uploadDir = 'uploads/';
//..............
if(!empty($_FILES["file"]["name"]))
{  
$name = explode('.', $_FILES["file"]["name"]);
$fileName = substr(md5(uniqid(rand(), true)),3,10);
$end = end($name);
$newName = $fileName . '.' . $end;  
$fileType = pathinfo($newName, PATHINFO_EXTENSION);
$allowTypes = array('pdf', 'doc', 'docx', 'jpg', 'png', 'jpeg');
if(in_array($fileType, $allowTypes))
{
if(move_uploaded_file($_FILES["file"]["tmp_name"], $newName))
{
$uploadedFile = $fileName;
}
?>

 

  • 1
نشر
بتاريخ 8 ساعات قال Hamada Ahmed:

جربت الكود لكن هناك مشكلة


<?php
$uploadDir = 'uploads/';
//..............
if(!empty($_FILES["file"]["name"]))
{  
$name = explode('.', $_FILES["file"]["name"]);
$fileName = substr(md5(uniqid(rand(), true)),3,10);
$end = end($name);
$newName = $fileName . '.' . $end;  
$fileType = pathinfo($newName, PATHINFO_EXTENSION);
$allowTypes = array('pdf', 'doc', 'docx', 'jpg', 'png', 'jpeg');
if(in_array($fileType, $allowTypes))
{
if(move_uploaded_file($_FILES["file"]["tmp_name"], $newName))
{
$uploadedFile = $fileName;
}
?>

 

هل يمكنك إرفاق نص المشكلة إذا كان يظهر لك , أو صورة للمشكلة ؟ 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...