فایل منیجر ساخته شده توسط saalek110 جایگزین فایل منیجر هاست

saalek110

Well-Known Member
صفحه ۴ :
در حال ساخت ورژن ۸...

افزودن یک لایه امنیتی:
من برای امنیت بیشتر ، یک سسیون به فایل اصلی اضافه کردم

PHP:
$_SESSION['light']=1;

و در فایل های include شده آن را تست کردم
.

PHP:
if ( $_SESSION['light']==1)
{




}  // light

یعنی اول و آخر فایلهای اینکلود شده خطوط بالا را گذاشتم.
چون گفتم اگر کسی اسم این فایلها را بنویسه ، یک مانعی در اجرای اون باشه.

شما بهتره کلمه light را عوض کنید و چیز دیگری بزارید. ولی باید در همه فایلهای اینکلود شده هم کلمه light را با کلمه جدید جایگزین کنید.

بهرحال یک سد امنیتی است ولی من از جایی نحواندم ، فعلا گفتم تلاشم را برای امنیت بیشتر بکنم.

بعدش برنامه را تست کردم ، مشکلی با این اضافه کردن ایجاد نشده بود.
 
آخرین ویرایش:

saalek110

Well-Known Member
ورژن ۸ :

PHP:
        <?php
session_start();
// if ($_SESSION['username']=="esme admin")  // auth
             {    // auth
//---------------- option ------------------
$show_php_codes="yes"; // cjphange to no if you dont like
$filename="iran_file_manager.php";// ham esme file bayad bashad
//$_SESSION['light']=1;
 //------------------------------------------
 // variables of program:

?>

<!DOCTYPE html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="rtl">
<head>
<title>Iran file manger</title>

<style>
<?php
include"iran_manager/my_css.php";
?>                                                  
</style>
</head>
<body>
       <?php
 
     ?>
 <div id='page'>

<?php
echo"<div id='header_print'>";
  echo"<h3><a href='index.php'>website</a></h3>"; // link be site
echo"</div>";
//echo"<br>--------------II------------------<br>";
        $my_loci=$_SERVER['SERVER_NAME'];
     // echo"<br>server name= ".$my_loci;
//echo"<br>--------------IIOO-----------------<br>";


$my_dir="./";
include"iran_manager/engine1.php";

// ======= action s ==============
//================================
 if(isset($_POST['action_save']))
 {// if action
include"iran_manager/action_save.php";
 }  // action
if(isset($_POST['action_upload']))
{
include"iran_manager/action_upload.php";
}  //  upload

if(isset($_POST['action_rename']))
 {// if action_rename
include"iran_manager/action_rename.php";
 }  // action
if(isset($_POST['action_delete']))
 {// if action_delete
include"iran_manager/action_delete.php";
 }  // action
// ==============================
//===============================
$scan = scandir($my_dir);

// khate badi sahih , print_r , chaap hameye etel!aat
//print_r($scan);
echo"<div id='root_print'>";
 echo "<a href='$filename?folder=empty'><img src='http://saalek110.is-great.net/images/buttons/root.png' width='180' height='auto'></a>";

echo"</div>";

echo"<table border=1>"; echo"<tr>";


echo"<td>";
$my_folder="Root";
echo"<div id='forum_name'>";
if ($_SESSION['step1'] !="empty" )
{
$my_folder=$_SESSION['step1'];

if ($_SESSION['step2'] !="empty" )
$my_folder=$my_folder."/".$_SESSION['step2'];
if ($_SESSION['step3'] !="empty" )
$my_folder=$my_folder."/".$_SESSION['step3'];
if ($_SESSION['step4'] !="empty" )
$my_folder=$my_folder."/".$_SESSION['step4'];
}
echo $my_folder;
echo"</div>";
echo"<div id='folders_list'>";
foreach ($scan as $f)
    {
$pattern = '/^[a-z0-9_-]{1,40}$/'; // folders
$check = preg_match($pattern,$f);
if ($check)
{
 echo "<a href='$filename?folder=$f'>".$f."</a>";
        echo"<br>";
}
    }// foreach
echo"</div>";

// ------------- php ----------------------------------
 foreach ($scan as $f)
 {
$check = preg_match('/([a-z]+[0-9]*)\.php$/', $f, $match);
 if ($check)  {
     //echo $f;
      $masir=$my_dir."/".$f;
     // echo "<br>".$masir;
echo"<br>";
 echo "<a href='$filename?masir=$masir&dir=$my_dir&filename=$f&editor=yes'>".$f."</a>";
echo"<br>";
 }    // if check
      } // foreach php
 //------------------- /php ------------------------
//--------------------jpg --------------------------
foreach ($scan as $f)
     {
$check = preg_match('/([a-z]+[0-9]*)\.jpe?g$/', $f, $match);
 if ($check)  {
      $masir=$my_dir."/".$f;
      echo "<a href='$filename?masir=$masir&dir=$my_dir&filename=$f'>".$f."</a>";
      show_image($masir);
  }    } // foreach
 echo"</td>";
 echo"</tr>";
foreach ($scan as $f)
     {
$check = preg_match('/([a-z]+[0-9]*)\.png$/', $f, $match);
 if ($check)  {
  $masir=$my_dir."/".$f;
  echo "<a href='$filename?masir=$masir&dir=$my_dir&filename=$f'>".$f."</a>";
     show_image($masir);
  }    } // foreach
foreach ($scan as $f)
{
$check = preg_match('/([a-z]+[0-9]*)\.gif$/', $f, $match);
if ($check)  {
      $masir=$my_dir."/".$f;
 echo "<a href='$filename?masir=$masir&dir=$my_dir&filename=$f'>".$f."</a>";
     show_image($masir);
}    } // foreach
//------------------------ editor ------------------------
  echo"<tr>";echo"<td>";
 echo"<img src='http://saalek110.is-great.net/images/buttons/editor.jpg'  style='width:500px;height:60px;'>";
//---------------------------------------------------------------------------
  echo"<br>";
  if (    isset($_GET['masir'])    &&  isset($_GET['dir'])         &&  isset($_GET['filename'])  
      &&  isset($_GET['editor'])     )
{
$masir=$_GET['masir'];
$dir=$_GET['dir'];
$my_filename=$_GET['filename'];

echo "masir= ".$masir;
echo"<br>";


$myfile = fopen("$masir", "r") or die("Unable to open file!");
$contents = fread($myfile, filesize($masir));//read file
fclose($myfile);
?>
<center>



<form id='myform' action="<?php echo $_SERVER['PHP_SELF']; ?>"  method = 'POST'>



    <textarea id="mytextarea"  form="myform" name="post_text" rows="30" cols="20">
        <?php  echo  htmlspecialchars($contents);  ?>
             </textarea><br><br>
     <?php
     echo'<input type="hidden" id="custId" name="masir"  value='.$masir.'>';
     echo'<input type="hidden" id="custId" name="dir"  value='.$dir.'>';
     echo'<input type="hidden" id="custId" name="filename"  value='.$my_filename.'>';

     ?>
              <input type="submit"  name='action_save' form='myform' value="Submit"  style=" font-size:40px; height:90px; width:150px">   </center>                                              
              <?php


}  // see file
echo"</td>";
echo"</tr>";
echo"<tr>";
echo"<td>";
//--------------upload###########
include"iran_manager/form_upload.php";
//-------------------############
echo"</td>";  echo"</tr>";

echo"<tr>";  echo"<td>";
echo"<table border=1><tr>";
echo"<td>";

echo"rename";
 echo "<a href='http://saalek110.is-great.net/forum/index.php'><img src='http://saalek110.is-great.net/images/griffin.jpg' alt='griffin' width='70' height='auto'></a>";
 echo"delete";
echo"</td>";
echo"<td>";
if (    isset($_GET['masir'])    &&  isset($_GET['dir'])         &&  isset($_GET['filename'])      )
{
//--------------delete###########
include"iran_manager/form_delete.php";
//-------------------############
}     // delete
echo"</td>";
echo"<td>";
if (    isset($_GET['masir'])    &&  isset($_GET['dir'])         &&  isset($_GET['filename'])      )
{
//--------------rename###########
include"iran_manager/form_rename.php";
//-------------------############
         
}  // rename
echo"</td>";
echo"<td>";
echo"<p style='color:red'>♤♧</p>";
echo"<br>";
echo"<p style='color:red'>♡◇</p>";
echo"</td>";
echo"</tr>";echo"</table>";

echo"</td>";  echo"</tr>";
echo"</table>";


//-------------- image function --------------------
function show_image($masir)
{
         echo"<br>";
            $my_loci=$_SERVER['SERVER_NAME'];
            $dir="http://".$my_loci.$masir;
            echo $dir;
     echo "<a href=$dir><img src=$dir alt='c1.jpg' width='190' height=auto></a>";
    echo"<br>";
      }   // function
//--------- /image function --------------------------

       }   // auth
   ?>
     
 
      <br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br>
     <br><br><br><br><br>

      </div>
</center>
 
 
 

</div>
</body>
</html>
 

saalek110

Well-Known Member
تفاوت ورژن ۸ با ورژن ۷ :

ورژن ۸ قادر به تغییرنام و دیلت عکسها هم هست.
اون قضیه سسیون لایت را در خطوط اول برنامه به شکل کامنت درآوردم تا بتوانید از فایلهای اینکلودی ورژن ۷ استفاده بکنید.
یعنی فقط فایل اصلی تغییر کرده ، باقی فایلها را از صفحه قبلی یعنی از فایلهای اینکلودی ورژن ۷ استفاده کنید.

اگر کدهای ورژن ۷ و ۸ را خودتان مقایسه کنید می بینید فقط ۵ خطش عوض شده
یکی اونجایی که قسمت php لینک می فرسته ، حالا کلمه ‌ادیتور را هم می فرسته
۳ خط بعدی ، لینک فرستادن انواع عکسها یعنی jpg & png & gif اضافه شد.
قبلا عکسها ، فقط نام خودشان را چاپ می کردند ولی حالا لینک دارند و چیزهایی را به صفحه ارسال می کنند تا قسمت تغییر نام و دیلت اونها را دریافت کنند.
خط پنجمی که تغییر کرده ، اونجاست که ادیتور داره ورودی ها را چک می کنه ، در ورژن ۸، کلمه ادیتور را هم چک می کنه ولی در ورژن ۷ این کلمه را چک نمی کند.

کلا فایلهای php کلمه ادیتور را می فرستند تا در ادیتور باز شوند ولی فایلهای عکس کلمه ادیتور را نمی فرستند ، چون قرار نیست در ادیتور پیکسلهایشان ادیت شود.
 
آخرین ویرایش:

saalek110

Well-Known Member
تنها چیزی که مونده ، ساخت یک فایل php است.( فعلا می تونید یک فایل php در دستگاهتان بسازید و آپلود کنید.)
انشا الله در ورژن بعدی.

و شاید کپی کردن یک فایل به جای دیگر.
 
آخرین ویرایش:

saalek110

Well-Known Member
راهتمای ادیت فایل css برای زیباسازی:

اولی body است که به یک عکس در هاست من اشاره می کند. می توانید بعدا عکسی در هاست خود آپلود کنید و بهش اشاره کنید یا بک گراند را بردارید و رنگ پس زمینه تعیین کنید.

تعیین رنگ ، قسمت اول میزان قرمز
قسمت دوم میزان سبز
قسمت سوم میزان آبی


اگر به این شکل بود #44ff66 بعد ۹ بشمارید ۱۰تا ۱۵ و a تا f را بزارید.یعنی a میشه ۱۰ و b میشه ۱۱ و c میشه ۱۲ و d و e و f هم میشه ۱۳ تا ۵.

اگر بینشان ممیز بود ، از صفر تا ۲۵۵ است فکر کنم. باز هم اولی قرمز و دومی سبز و سومی آبی. رقم چهارم میشه میزان شفافیت . یعنی زیرش معلوم باشه ، که از یک دهم تا نزدیک ۱ مثلا نه دهم است.
کد:
(230 , 150 , 150 , 0.4)

مثلا در اعداد بالا من قرمز هدفم بوده ولی سبز و آبی را هم مقداری گرفتم تا قرمز کم رنگ بشه. و رقم آخر یعنی ۴ دهم ، یعنی پشتش واضح معلوم است.معمولا من ۶ دهم تا نه دهم می گیرم.

در فایل css هم اسم عکسها به عکسها می خوره هم اسم اون قسمت.

مثلا قسمت فولدر لیست ، برای زیر اسم پوشه هاست ، عکسش الان wood است. اگر چوب دوست ندارید عوض کنید.
قسمت forum name فکر کنم کادر بالای سر لیست پوشه ها است. عکسی نداره فعلا.
قسمت sess print اون زیر اون ۴ تا مرینت سسیونها زیر اون لینک است و یک بک گراند قهوه ای داره و اسم عکسش هم الان براون یا قهوه ای است.
قسمت root print اطرافی دکمه روت است کهوالان عکس کاغذ قدیمی است و اسم عکس هم paper است.
قسمت هدر پرینت اونجایی است که لینک رفتن به سایت هست و عکسش گل رز است و اسم فایل هم rose است.

یک textarea بیشتر در برنامه نداریم.
درصد عرضش بالای نود درصد است ، می توانید کمتر یا بیشتر کنید.
داخل برنامه اصلی ، خود textarea تعداد ردیف دارد و تعداد ستون ، می توانید تغییر دهید ببینید چی میشه.

در عکس زیر قسمتهایی را مشخص کردم:

Screenshot_۲۰۲۴-۰۹-۲۱_۱۵۰۸۵۱.jpg
 
آخرین ویرایش:

saalek110

Well-Known Member
راهنمای ادیت فایل اصلی:

اگر html بلدید ، می توانید عناصر سایت را جایشان را دوباره خودتان تعیین کنید.
من بیشتر از table در html استفاده کردم.

من سایت را دراز ساختم تا در گوشی بهتر بشه کار کرد. اگر باز در گوشی شما عرض کمه ، ببینید کدوم ها می زنند بیرون ، تغییراتی بدهید.

جایی که گاهی می زنه بیرون قسمت تغییر نام و دیلت است. می توانید اونجا را جداولش را دوباره طراحی کنید و اجزا را زیر هم قرار دهید
 
آخرین ویرایش:

saalek110

Well-Known Member
شرح چگونگی کارکرد برنامه :

ابتدا مسیر اسکن میشه و فایلها و پوشه ها در لیست قرار می گیرند.
من برای پیدا کردن فایلها و پوشه ها از رگولار اکسپرژن استفاده کردم ولی php خودش دو تابع is_dir و is_file داره...حالا شاید اسم توابع را اشتباه نوشته باشم.
اگر از رگولار اکسپرژن خوشتان نمی آید شاید بتونید از اونها استفاده کنید. ولی برای افتراق فایل متنی از عکس نمی دونم باید چه کار کرد در اون روش. برای تغییر نام و دیلت فرق نمی کنه ولی عکس را باید نمایش داد و فایل php را باید ادیت کرد. اینجا فرق دارند. شاید هم رگولار اکسپرژن راحت تر باشه.

وقتی فولدرها و فایلها پیدا شدند ، وجود خود را با یک لینک که متغیر به آدرس می فرستد ، اعلام می کنند،
پوشه ها وقتی کلیک میشن مسیر بعدی و عمقی تر را مشخص می کنند، و فایلها وقتی کلیک میشن میرن برای نمایش یا ادیت یا تغییر نام یا دیلت.

وقتی پوشه ها کلیک میشن ، اسم پوشه ها در سسیون ذخیره میشه و بعد در متغیر مسیر بار زده میشه. این کارها در فایل انجین ۱ انجام میشه. میشه در فایل متنی هم ذخیره کرد یا در دیتابی یا در کوکی.

قسمت ادیت فایل php ، ورودی ادیتور را هم ، از آدرس می خونه تا بفهمه یک فایل php کلیک شده تا ادیتور پر بشه از محتویات اون فایل.
ارسال اطلاعات از فایلها به ادیتور و قسمت تغییر نام و دیلت با پروتکل، یعنی توسط آدرس است ، و انتقال اطلاعات از فرم ها به اکشن ها ، توسط پروتکل post است.
 

saalek110

Well-Known Member
حل مشکل رنگی نبودن ادیتور

شاید ادیتورهای آنلاین کمک کند
اگر در کامپیوتر باشید ادیتورهای خوبی هست که نصب کنید.

ادیتور آنلاین مثل این:


ولی شاید خوب نباشه. چون شما میخواهید در ادیتور خودتان کار کنید ، نه جای دیگر.
 

saalek110

Well-Known Member
ورژن ۹ :
PHP:
                                                                        <?php
session_start();
// if ($_SESSION['username']=="esme admin")  // auth
             {    // auth
//---------------- option ------------------
$filename="iran_file_manager.php";// ham esme file bayad bashad
//$_SESSION['light']=1;
 //------------------------------------------
 // variables of program:
// jaygahe tavabe


?>

<!DOCTYPE html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="rtl">
<head>
<title>Iran file manger</title>

<style>
<?php
include"iran_manager/my_css.php";
?>                                                
</style>
</head>
<body>
       <?php
 
     ?>
 <div id='page'>

<?php
echo"<div id='header_print'>";
  echo"<h3><a href='index.php'>website</a></h3>"; // link be site
echo"</div>";
//echo"<br>--------------II------------------<br>";
        $my_loci=$_SERVER['SERVER_NAME'];
     // echo"<br>server name= ".$my_loci;
//echo"<br>--------------IIOO-----------------<br>";


$my_dir="./";
include"iran_manager/engine1.php";

// ======= action s ==============
//================================
 if(isset($_POST['action_save']))
 {// if action
include"iran_manager/action_save.php";
 }  // action
if(isset($_POST['action_upload']))
{
include"iran_manager/action_upload.php";
}  //  upload

if(isset($_POST['action_rename']))
 {// if action_rename
include"iran_manager/action_rename.php";
 }  // action
if(isset($_POST['action_delete']))
 {// if action_delete
include"iran_manager/action_delete.php";
 }  // action


if(isset($_POST['action_new_file']))
 {// if action_new_file
include"iran_manager/action_new_file.php";
 }  // action
// ==============================
//===============================
$scan = scandir($my_dir);

// khate badi sahih , print_r , chaap hameye etel!aat
//print_r($scan);
echo"<div id='root_print'>";
 echo "<a href='$filename?folder=empty'><img src='http://saalek110.is-great.net/images/buttons/root.png' width='180' height='auto'></a>";

echo"</div>";

echo"<table border=1>"; echo"<tr>";


echo"<td>";
$my_folder="Root";
echo"<div id='forum_name'>";
if ($_SESSION['step1'] !="empty" )
{
$my_folder=$_SESSION['step1'];

if ($_SESSION['step2'] !="empty" )
$my_folder=$my_folder."/".$_SESSION['step2'];
if ($_SESSION['step3'] !="empty" )
$my_folder=$my_folder."/".$_SESSION['step3'];
if ($_SESSION['step4'] !="empty" )
$my_folder=$my_folder."/".$_SESSION['step4'];
}
echo $my_folder;
echo"</div>";
echo"<div id='folders_list'>";
foreach ($scan as $f)
    {
$pattern = '/^[a-z0-9_-]{1,40}$/'; // folders
$check = preg_match($pattern,$f);
if ($check)
{
 echo "<a href='$filename?folder=$f'>".$f."</a>";
        echo"<br>";
}
    }// foreach
echo"</div>";

// ------------- php ----------------------------------
 foreach ($scan as $f)
 {
$check = preg_match('/([a-z]+[0-9]*)\.php$/', $f, $match);
 if ($check)  {
     //echo $f;
      $masir=$my_dir."/".$f;
     // echo "<br>".$masir;
echo"<br>";
 echo "<a href='$filename?masir=$masir&dir=$my_dir&filename=$f&editor=yes'>".$f."</a>";
echo"<br>";
 }    // if check
      } // foreach php
 //------------------- /php ------------------------
//mahale afzoneye txt va baghie pasvand ha
//--------------------jpg --------------------------
foreach ($scan as $f)
     {
$check = preg_match('/([a-z]+[0-9]*)\.jpe?g$/', $f, $match);
 if ($check)  {
      $masir=$my_dir."/".$f;
      echo "<a href='$filename?masir=$masir&dir=$my_dir&filename=$f'>".$f."</a>";
      show_image($masir);
  }    } // foreach
 echo"</td>";
 echo"</tr>";
foreach ($scan as $f)
     {
$check = preg_match('/([a-z]+[0-9]*)\.png$/', $f, $match);
 if ($check)  {
  $masir=$my_dir."/".$f;
  echo "<a href='$filename?masir=$masir&dir=$my_dir&filename=$f'>".$f."</a>";
     show_image($masir);
  }    } // foreach
foreach ($scan as $f)
{
$check = preg_match('/([a-z]+[0-9]*)\.gif$/', $f, $match);
if ($check)  {
      $masir=$my_dir."/".$f;
 echo "<a href='$filename?masir=$masir&dir=$my_dir&filename=$f'>".$f."</a>";
     show_image($masir);
}    } // foreach
//------------------------ editor ------------------------
  echo"<tr>";echo"<td>";
 echo"<img src='http://saalek110.is-great.net/images/buttons/editor.jpg'  style='width:500px;height:60px;'>";
//---------------------------------------------------------------------------
  echo"<br>";
  if (    isset($_GET['masir'])    &&  isset($_GET['dir'])         &&  isset($_GET['filename'])
      &&  isset($_GET['editor'])     )
{
$masir=$_GET['masir'];
$dir=$_GET['dir'];
$my_filename=$_GET['filename'];

echo "masir= ".$masir;
echo"<br>";


$myfile = fopen("$masir", "r") or die("Unable to open file!");
$contents = fread($myfile, filesize($masir));//read file
fclose($myfile);
?>
<center>



<form id='myform' action="<?php echo $_SERVER['PHP_SELF']; ?>"  method = 'POST'>



    <textarea id="mytextarea"  form="myform" name="post_text" rows="30" cols="20">
        <?php  echo  htmlspecialchars($contents);  ?>
             </textarea><br><br>
     <?php
     echo'<input type="hidden" id="custId" name="masir"  value='.$masir.'>';
     echo'<input type="hidden" id="custId" name="dir"  value='.$dir.'>';
     echo'<input type="hidden" id="custId" name="filename"  value='.$my_filename.'>';

     ?>
              <input type="submit"  name='action_save' form='myform' value="Submit"  style=" font-size:40px; height:90px; width:150px">   </center>                                            
              <?php


}  // see file
echo"</td>";
echo"</tr>";
echo"<tr>";
echo"<td>";
//--------------upload###########
include"iran_manager/form_upload.php";
//-------------------############
echo"</td>";  echo"</tr>";

echo"<tr>";  echo"<td>";
echo"<table border=1>";

//--------------------
echo"<tr>";echo"<td>";
if (    isset($_GET['masir'])    &&  isset($_GET['dir'])         &&  isset($_GET['filename'])      )
{
//--------------delete###########
include"iran_manager/form_delete.php";
//-------------------############
}     // delete
echo"</td>";
echo"<td>";
if (    isset($_GET['masir'])    &&  isset($_GET['dir'])         &&  isset($_GET['filename'])      )
{
//--------------rename###########
include"iran_manager/form_rename.php";
//-------------------############
       
}  // rename
echo"</td>";
echo"<td>";
echo"</td>";echo"</tr>";
//----------------------




//99999999999999999999
//--------------------
echo"<tr>";echo"<td>";
echo"new file";
 echo "<a href='http://saalek110.is-great.net/forum/index.php'><img src='http://saalek110.is-great.net/images/griffin.jpg' alt='griffin' width='150' height='auto'></a>";
 
echo"</td>";
echo"<td>";
//--------------new file ########
include"iran_manager/form_new_file.php";
//-------------------############
echo"</td>";
echo"<td>";
echo"<p style='color:red'>♤♧</p>";
echo"<br>";
echo"<p style='color:red'>♡◇</p>";
echo"</td>";echo"</tr>";
//----------------------
//99999999999999999999

echo"</table>";

echo"</td>";  echo"</tr>";
echo"</table>";


//-------------- image function --------------------
function show_image($masir)
{
         echo"<br>";
            $my_loci=$_SERVER['SERVER_NAME'];
            $dir="http://".$my_loci.$masir;
            echo $dir;
     echo "<a href=$dir><img src=$dir alt='c1.jpg' width='190' height=auto></a>";
    echo"<br>";
      }   // function
//--------- /image function --------------------------

       }   // auth
   ?>
   
 
      <br><br><br><br><br><br><br>
      <br><br><br><br><br><br><br>
     <br><br><br><br><br>

      </div>
</center>
 
 
 

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

saalek110

Well-Known Member
ورژن ۹ داری توانایی ایجاد فایل جدید php است.

پس دو فایل فرم و اکشن هم باید اضافه کنید.
 

saalek110

Well-Known Member
form_new_file.php

PHP:
                <?php
//if ( $_SESSION['light']==1)
{
//$masir=$_GET['masir'];
$dir=$my_dir;

?>
   <form id='myform' action="<?php echo $_SERVER['PHP_SELF']; ?>"  method = 'POST'  enctype="multipart/form-data">


new filename <input type="text" name="new_file_name"  style=" font-size:16px; height:40px; width:150px;" >



<?php

             echo'<input type="hidden" id="custId" name="masir"  value='.$masir.'>';
            
             echo'<input type="hidden" id="custId" name="dir"  value='.$dir.'>';
     ?>       
      <input type="submit" value="new file" name="action_new_file" style=" font-size:16px; height:60px; width:100px">
<?php
}  // light
?>
 

saalek110

Well-Known Member
action_new_file.php


PHP:
          <?php
//if ( $_SESSION['light']==1)
{
//$masir=$_POST['masir'];
$dir=$_POST['dir'];
$new_filename=$_POST['new_file_name'];


echo "masir= ".$masir;
echo"<br>";
echo "dir= ".$dir;
echo"<br>";

echo"<pre>";
//echo htmlspecialchars($post_text);
echo"</pre>";
$kol=$dir."/".$new_filename;
$myfile = fopen($kol, "w") or die("Unable to open file!");
//fwrite($myfile, "hmad");

fwrite($myfile, "<?php


?>"  );
fclose($myfile);

$jam=$dir."/".$my_filename;
echo "jame= ".$jam;
$jam2=$dir."/"."old_".$my_filename;
echo"<br>";
echo "jam2= ".$jam2;

//rename("$jam","$jam2");

$jam3=$dir."/"."new_file.php";
echo"<br>";
echo "jam3= ".$jam3;
$jam4=$dir."/".$my_filename;
echo"<br>";
echo "jam4= ".$jam4;

//rename("$jam3","$jam4");
}  // light
?>
 

saalek110

Well-Known Member
دو فایل اینکلودی اینجا اضافه شد. بقیه ۹ تا فایل اینکلودی ورژن ۷ را هم باید اضافه کنید به پوشه iran_manager

جمعا ۱۱ عدد فایل اینکلودی باید داشته باشید. شکل زیر:

Screenshot_۲۰۲۴-۰۹-۲۱_۱۷۱۹۲۰.jpg

توجه : rename در ورژن ۹ کار نمی کند ، راه حل در دو پست بعد گفته شده.
 
آخرین ویرایش:

saalek110

Well-Known Member
نکات امنیتی:

یک فایل ایندکس در پوشه اینکلودها یعنی iran_manager بیاندازید که اگر کسی اسم پوشه را تایپ کرد ، لیست فایلها برایش نرود. اسم پوشه iran_manager را هم عوض کنید.

فکر کنم بهتره به اسم همه فایلها یک عدد چند رقمی اضافه کنید

و در فایل اصلی هم همون عدد چند رقمی را به اسم فایلها اضافه کنید. یک عدد ثابت مثلا 67890

. تا نشود اسم فایلها را تایپ کرد.


اسم فایل اصلی را عوض کنید و بعدش باید در خطوط اول برنامه اون اسم جدید را تنظیم کنید.
سسیون ادمین را اول فایل فعال کنید.
اون سسیون light را گلمه light اش را تغییر دهید و فعال کنید.
اگر به ورژن ۹ و این دو فرزند پستهای بالا نگاه کنید سسیون light دارند ولی به شکل کامنت درآمده. با یک کلمه جدید این سسیون را هم فعال کنید.
 
آخرین ویرایش:

saalek110

Well-Known Member
اشکال ورژن ۹ : rename آن کار نمی کند

علتش اینه که من وقتی فرم new file را ساختم ، از فرم rename کپی گرفتم و اسم فیلدی که نام فایل را وارد می کنید یکیه . پس چون فرم new file خالیه ، برای اکشن rename هم به حای اسم جدید ، خالی ارسال می شود.

راه حل:
در فایل form_rename در خط:

HTML:
new_name <input type="text" name="new_file_name"  style=" font-size:16px; height:40px; width:150px;" >
تغییر بدهید به:
HTML:
new_name <input type="text" name="newfilename"  style=" font-size:16px; height:40px; width:150px;" >
یعنی آندلاین هایش را بردارید تا نام جدیدی خلق شود.


و در فایل action_rename در خط:
HTML:
$new_file_name=$_POST['new_file_name'];

جایگزین کنید با خط:

HTML:
$new_file_name=$_POST['newfilename'];

یعنی آندرلاین هایش را برداید تا نام جدیدی خلق شود.



این طوری ، هم نام بود فیلد نام جدید در rename و new file برطرف میشه.
 
آخرین ویرایش:

saalek110

Well-Known Member
الان در مرحله دیباگ ، اشکال زدایی هستیم.
همچنین در مرحله ارائه اکستنشن یا افزونه هستیم.

افزونه کدی است که قابلیت جدیدی به برنامه اضافه می کند. ورژن جدیدی ارائه نمی شود ، می گویند اگر می خواهید این قابلیت به برنامه شما اضافه شود ، این کد را فلان جا اضافه کنید.
 

saalek110

Well-Known Member
افزونه قابلیت ادیت فایل text:

PHP:
// ------------- txt ----------------------------------
 foreach ($scan as $f)
 {
$check = preg_match('/([a-z]+[0-9]*)\.txt$/', $f, $match);
 if ($check)  {
     //echo $f;
      $masir=$my_dir."/".$f;
     // echo "<br>".$masir;
echo"<br>";
 echo "<a href='$filename?masir=$masir&dir=$my_dir&filename=$f&editor=yes'>".$f."</a>";
echo"<br>";
 }    // if check
      } // foreach php
 //------------------- /txt ----------------------

برای فایلهای با پسوند دیگه هم اگر خواستید ، چنین افزونه ای خودتان بسازید و به جای txt پسوند مورد نظر خود را وارد کنید.

محل افزودن این افزونه به ورژن ۹ ، اونجایی که نوشته زیر هست:
کد:
//mahale afzoneye txt va baghie pasvand ha

یعنی بروید ورژن ۹ را بگردید و نوشته بالا را پیدا کنید و زیرش افزونه این پست را اضافه کنید. خط فوق را پاک نکنید تا برای بقیه پسوندها هم نشانه باقی بماند.
 
آخرین ویرایش:

saalek110

Well-Known Member
بیماری نشان ندادن عکسها:

اگر به پوشه عکسها رفتید و عکسها نشان داده نشد ، شاید تابع نمایش عکس را پیدا نمی کند.

تابع را به این مکان ببرید، جایی که در ورژن ۹ نوشته:


کد:
// jaygahe tavabe

تابع اینه:

PHP:
function show_image($masir)
{
         echo"<br>";
            $my_loci=$_SERVER['SERVER_NAME'];
            $dir="http://".$my_loci.$masir;
            echo $dir;
     echo "<a href=$dir><img src=$dir alt='c1.jpg' width='190' height=auto></a>";
    echo"<br>";
      }   // function

آخرهای فایل اصلی است. اون را کات کنید ببرید اوایل فایل ، اونجایی که اون نوشته هست.
کلا اگر برنامه مشکل هم نداره ، بهتره توابع را ببرید اول فایل.
کپی نکنید ، کات کنید، چون اگر دو تا تابع به یک اسم باشند ، ممکن است برنامه خطا بدهد.

در ضمن در همین تابع ، سایز نمایش عکس ها هم هست می توانید تغییر اندازه بدهید.
 

saalek110

Well-Known Member
دوست ندارم yes بنویسم ، چه کار کنم؟

در فایل action_delete به جای:

PHP:
if ($yes_or_no=="yes")

تغییر بده به :

PHP:
if ($yes_or_no=="Y")

و در action_rename هم همین کار را بکن.

حالا با نوشتن Y ، یعنی ایگرگ بزرگ کار انجام میشه.

حوصله ندارم کیبورد را انگلیسی کنم ، چه کار کنم؟

کد زیر را جایگزین کد بالا کنید تا با زدن حرف ((( ب )) هم تایید انجام شود ، اون دو تا خط عمودی یعنی ((یا))، :


PHP:
if ($yes_or_no=="Y" || $yes_or_no=="ب")
 
آخرین ویرایش:

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

بالا