مساعدة في تغير اسم ملف بواسطة php jquery

تحية طيبة للجميع.

لدي ملف واحد اسفله مكون من form html و كود php لتغير اسماء الملفات عندي قي مجلد الموقع

<center><h1> rename files </h1>

<form action="" method="POST">

<input type="text" Name="oldName" placeholder="old Name" value=""><br>

<input type="text" Name="newName" placeholder="new name" value=""><br>

<input class="btn" Name="submit" type="submit" value="rename">

</form><br>

<? php

if(!isset($_POST['submit'])) die(); {

$old = @$_POST['oldName'];

$new= @$_POST['newName'];

}

if(rename($old, $new) ) {

echo 'this file is rename new Name : '.$new;}

else {echo 'this file is not rename';}

? >

</center>

وانا اريد اضافة الجكويري او الاجاكس مع php

و عمل ملفين واحد لصفحة اكواد html و jquery و الاخر لاكواد php

وشكرا....

@Mustafa_Suleiman

@Abdelbaset_ibrahem

@Adnane_Kadri

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

أولاً ستحتاج إلى إنشاء ملف index.html ونضع به كود jQuery كالتالي:

<!DOCTYPE html>
<html lang="ar">
<head>
  <meta charset="UTF-8">
  <title>تغيير اسم ملف</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
  <center><h1>تغيير اسم ملف</h1></center>
  <form action="rename.php" method="POST" id="renameForm">
    <input type="text" name="oldName" placeholder="الاسم القديم" value="">
    <input type="text" name="newName" placeholder="الاسم الجديد" value="">
    <input type="submit" value="تغيير الاسم" id="renameBtn">
  </form>
  <script>
    $(document).ready(function() {
      $('#renameBtn').click(function() {
        var oldName = $('#renameForm').find('input[name="oldName"]').val();
        var newName = $('#renameForm').find('input[name="newName"]').val();
        $.ajax({
          type: 'POST',
          url: 'rename.php',
          data: {
            oldName: oldName,
            newName: newName
          },
          success: function(response) {
            if (response == '1') {
              alert('تم تغيير اسم الملف بنجاح');
            } else {
              alert('حدث خطأ أثناء تغيير اسم الملف');
            }
          }
        });
      });
    });
  </script>
</body>
</html>

ثم نقوم بإنشاء ملف PHP باسم rename.php كالتالي:

<?php
if (isset($_POST['oldName']) && isset($_POST['newName'])) {
  $oldName = $_POST['oldName'];
  $newName = $_POST['newName'];
  if (rename($oldName, $newName)) {
    echo 1;
  } else {
    echo 0;
  }
}
?>


قم بحفظ ملف index.html في مجلد المشروع وكذلك ملف rename.php. ثم يمكنك فتح index.html في متصفح الويب وتجربة النموذج، وعند النقر على زر "Rename"، سيتم استدعاء ملف PHP (rename.php) باستخدام jQuery وسيقوم بمعالجة الطلب وإجراء التغييرات في اسم الملف.

إليك الخطوات:

  1. أدخل الاسم القديم والاسم الجديد للملف في النموذج HTML.
  2. انقر فوق الزر "تغيير الاسم".
  3. إن نجح تغيير الاسم، فسترى رسالة تنبيه تؤكد ذلك.
  4. إن فشل تغيير الاسم، فسترى رسالة تنبيه توضح سبب الفشل.

ففي الكود:

  • إذا نجح تغيير الاسم، فنحن نعيد القيمة 1.
  • إذا فشل تغيير الاسم، فنحن نعيد القيمة 0.

@Mustafa_Suleiman

شكرا عل الرد وبارك الله فيك اخي مصطفى.

الكود اشتغل صح و لكن هناك مشكلة صغيرة.

انا اريد ان تظهر الرسالة بعد الضغط عل زر التغير في صفحة rename.html و لا يتم التوجيه الى صفحة rename.php

يمكنك تحسين الكود الحالي وإضافة Ajax (باستخدام jQuery) لتحقيق التفاعل بين صفحة HTML وسكريبت PHP دون إعادة تحميل الصفحة. يتوجب عليك إنشاء ملفين، أحد الملفين للكود HTML و jQuery، والآخر للكود PHP.

ملف HTML سيحتوي على أكواد ال html التي تريدها ولكن ال script سيكون متقارب مع الكود التالي

<script>
      function renameFile() {
        var oldName = $('input[name="oldName"]').val();
        var newName = $('input[name="newName"]').val();
        $.ajax({
          type: 'POST',
          url: 'rename.php',
          data: { oldName: oldName, newName: newName },
          success: function(response) {
            $('#result').html(response);
          }
        });
      }
    </script>

ثم تحتاج لإنشاء الملف الذي تريده مثلاً rename.php

<?php
if (!isset($_POST['oldName']) || !isset($_POST['newName'])) {
  die('Invalid parameters');
}
$old = $_POST['oldName'];
$new = $_POST['newName'];
if (rename($old, $new)) {
  echo 'File successfully renamed. New Name: ' . $new;
} else {
  echo 'File not renamed.';
}
?>

في الشرح السابق تم إستخدام jQuery لتبسيط عملية الاستدعاء القادم من الفورم، ويتم إرسال البيانات المدخلة عبر Ajax إلى ملف PHP (rename.php) الذي يقوم بإعادة تسمية الملف. يتم عرض نتيجة العملية في العنصر ذو الهوية result دون إعادة تحميل الصفحة.

@Abdelbaset_ibrahem

شكرا عل الرد وبارك الله فيك اخي عبد الباسط.

نفس الامر مع الكود الاخ مصطفى الكود اشتغل و لكن يتم التوجيه الى صفحة rename.php

ارجوا حل بدون اعادة التوجيه للصفحة الاخرى....