Тема №11. Создание панели управления файлами

Цель работы:Получение практических навыков по обработке файлов в сценариях.

Задание 1. Разработать форму и сопутствующее ей приложение для панели управления файлами.

Пример формы показан на рис. 3.159, ее обработчик приведен на рис. 3.161 (имя сценария - Lab11.php ). Вариант работы обработчика формы показан на рис. 3.160.

Рис. 3.159. Форма панели управления файлами

 

Рис. 3.160. Результат работы кода lab11.php

 

Листинг создания и обработки формы lab11.php.

html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

<title>Lab11 Files manager</title>

</head>

<body>

<table border=0 width=80% align=center>

<?PHP

if ($_POST["Upload"])

{

$dir = "W:\home\localhost\www\php\Lab\users";

echo("Upload File=".$File);

print("<tr><td colspan=4 align=center>Uploaded file: $File_name</td></tr>");

print("<tr><td colspan=4 align=center>File size: $File_size</td></tr>");

//if (copy($File,"USERS/$File_name"))

if (copy($File,$dir."/$File_name"))

{

print("<tr><td colspan=4 align=center>Your file:$File_name, successfully uploaded</td></tr>");

}

else

{

print("Upload was not success");

}

//unlink($File);

unlink($Files);//unlink - удаляет файл.

 

print("<tr><td colspan=4>&nbsp;</td></tr>");

}

 

if ($Delete)

{

for($i=0;$i<count($Delete);$i++)

{

if ($Delete[$i]==$Rename[$i])

{ print("<center>It is impossible to delete and rename file in the same time</center>");}

else

{

//if (unlink("USERS/$Delete[$i]"))

if (unlink($dir."/$Delete[$i]"))

{

print("<tr><td colspan=4 align=center> Your file, $Delete[$i],was deleted</td></tr>");

}

else

{

print("<tr><td colspan=4 align=center> Your file, $Delete[$i], cannot be deleted</td></tr>");

}

}

}

print("<tr><td colspan=4 align=center>&nbsp;</td></tr>");

}

 

if ($Rename)

{

for($i=0;$i<count($Rename);$i++)

{

if ($Delete[$i]==$Rename[$i])

{}

else

{

//$OldName="USERS/".$Rename[$i];

$OldName=$dir."/".$Rename[$i];

$Newfile=$Rename[$i];

//$New="USERS/".$NewName[$Newfile];

$New=$dir."/".$NewName[$Newfile];

if (rename("$OldName","$New"))

{

print("<tr><td colspan=4 align=center> Your file, $Rename[$i], was renamed in $NewName[$Newfile]</td></tr>");

}

else

{

print("<tr><td colspan=4 align=center> Your file, $Rename[$i], cannot be renamed</td></tr>");

}

}

}

print("<tr><td colspan=4 align=center>&nbsp;</td></tr>");

}

 

print("<form action=\"lab11.php\" method=post enctype=\"multipart/form-data\">\n");

print("<tr><td><b>File name</b></td>

<td><b>File size</b></td>

<td><b>Delete</b></td>

<td><b>Rename (Укажите новое имя)</b></td></tr>");

 

//if ($dir = @opendir("W:\home\localhost\www\php\Lab\users"))

$dir = "W:\home\localhost\www\php\Lab\users";

 

//$Open=opendir("USERS");//функция PHP

$Open=opendir($dir);//функция PHP

while ($Files=readdir($Open))

{

//$FileName="USERS/".$Files;

$FileName=$dir."/".$Files;

if (is_file($FileName))

{

$Size=filesize($FileName);

print("<tr><td>$Files</td>

<td>$Size</td>

<td><input type=checkbox name=\"Delete[]\" value=\"$Files\"</td>

<td><input type=checkbox name=\"Rename[]\" value=\"$Files\">

<input type=text name=\"NewName[$Files]\"></td></tr>\n");

}

}

closedir($Open);

print("<tr><td colspan=4 align=center>&nbsp;</td></tr>");

print("<tr><td colspan=4 align=center>

<input type=checkbox name=\"Upload\" value=\"yes\">Upload file<br>

<input type=file name=\"File\" size=40><br>

<input type=submit name=\"Submit\" value=\"Ok\"></td></tr>");

print("</form>");

?>

</table>

</body>

</html>

Рис. 3.161. Код lab11.php для реализации менеджера файлов