Цель работы:Получение практических навыков по обработке файлов в сценариях.
Задание 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> </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> </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> </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> </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 для реализации менеджера файлов