ТЕКСТ СЦЕНАРИЯ
Для лучшего восприятия информации данной главы далее приводится текст разобранного выше сценария без каких-либо комментариев.
Файл index.php
<html> <?php
$begin="files";
if ((strpos($fold,$begin)!=0)||(strpos($fold,"..")!=False) | | ($fold== ¦¦'¦)) {
$dirct=$begin; }
else {
$dirct=$fold; }
echo ("<form action=zapros.php?folder=$dirct method=post>");
if ($dirct!=$begin) {
$back=substr ($dirct, 0, strrpos($dirct, "/")); echo ("<br><bxa href=index.php?fold=$back>KopHeBaH папка</ах/Ь><br>") ;
}
$hdl=opendir($dirct); while ($file = readdir($hdl)) {
if (($file!="..")&&($file!=".")) { $a[]=$file;
} }
closedir($hdl);
175
if (sizeof($a)>0)
asort($a); foreach ($a as $k)
$full=$dirct."/". $k;
echo ("<input name=fl[] value=$k type=checkbox>") ;
if (is_dir($full)==True)
echo ("<a href=index.php?fold=$fullxb>rianKa $k</bx/a>") ;
else
echo ("<a href=$full>$k</a>"); echo ("<br>");
?><brxinput type=submit value= "Удалить " name=udalxbr><input type=submit value="Переименовать" name=renxbrxinput type=submit value="Копировать" name=copyxbrxinput type=submit value="Создать папку" name=md>
</form></html>
Файл zapros.php
<htmlx?php
echo ("<form action=do.php?folder=$folder method=post>"); if ($udal!="") {
echo ("Удалить файлы?<br>"); foreach ($fl as $i) {
echo ("<input type=hidden name=fl[] value=$i>$i из папки $folder<br>");
}
echo ("<input type=submit value=\"Удалить\" name=udal>"); }
function tree($fld) {
global $ folder; global $fl;
176
$hdl=opendir($fld); while ($file = readdir($hdl)) {
if (($file!=".")&&($file!="..")) {
$fllnm=$fld."/".$file; if (is_dir($fllnm)==True) {
$ПО=0;
foreach ($fl as $i) {
if ($fllnm==$folder."/".$i) {
$no=l; } }
if ($no==0) {
if ($fllnm!=$folder) {
echo ("<input name=rd type=radio value=$fllnm>$fllnm<br>");
}
tree ($fllnm); } } } V
closedir($hdl); }
if ($copy!="") {
$begin="files";
echo ("Куда копировать файлы?<br>"); foreach ($fl as $i) {
echo ("<input type=hidden name=fl[] value=$i>$folder/$i<br>");
}
echo ("<br>Выберите папку для копирования:<br>"); tree($begin); if ($begin!=$folder) {
echo ("<input name=rd type=radio value=$begin>$begin<br>");
177
}
echo ("<input type=submit value=\"Скопировать\" name=сору>"); }
if ($ren!="") {
echo ("Переименовать файлы?<Ьг>"); foreach ($fl as $i) {
echo ("<input type=hidden name=afl[] value=$i>"); echo ("$i");
echo ("<input type=text size=3 0 name=rfl[] value=$ixbr>") ;
}
echo ("<input type=submit value=\"Переименовать\" name=ren>");
}
if ($md!="") {
echo ("Введите имя папки:<brxinput type=text size=3 0 name=newnamexbr><input type=submit value=\"Создать папку\" name=md>");
} ?>
<brxinput type=submit value="OTMeHa" name=otx/form>
</html>
Файл do.php
<?php
$begin="files";
if ((strpos($folder,$begin)!=0)|| (strpos ($folder, ".. . ") !=False) ) {
exit; }
function delfiles($fId) {
$hdl=opendir($fld); while ($file = readdir($hdl)) { if ( ($file! = ".")&&($file!=".."))
{
if (is_dir($fld."/".$file)==True) { delfiles ($fId."/".$file);
rmdir ($fld."/".$file); }
else {
unlink ($fld."/".$file) ; } } }
closedir($hdl); }
if ($udal!="") {
foreach ($fl as $i) {
if (is_dir($folder."/".$i)==True) {
delfiles ($folder."/".$i) ; rmdir ($folder."/".$i); }
else {
unlink ($folder."/".$i); } } }
if ($ren!="") {
for ($i = 0; $i < sizeof ($afl); $i++) {
if (($rfl[$i] ! = -)&($rfl[$i] !=$afl[$i])& (strpos($afl[$i],"..")==False)) {
$rfl[$i]=strtr($rfl[$i], " []{},/\!@#$%л&*",
'.__________________________" ) I
rename ($folder."/".$af1[$i] , $folder."/".$rfl[$i]); }
} }
function copyfold ($rt, $fld, $tgt) {
if (file_exists($tgt."/".$fId)!=True) {
mkdir ($tgt."/".$fld, 0666); }
179
$hdl=opendir($rt.V".$fld); while ($file = readdir($hdl)) {
if (($file!="..")&&($file!=".")) {
if (is_dir($rt."/".$fld."/".$file)==True) {
copyfold($rt."/"-$fld, $file, $tgt."/".$fId); }
else {
copy ($rt."/".$fld."/".$file, $tgt."/".$fld."/".$file) ;
} } } closedir($hdl);
}
if ($copy!="") {
foreach ($fl as $i) {
if (is_dir($folder."/".$i)==True) {
if (!(strpos ($rd, $folder."/".$i)===0)) {
copyfold($folder, $i, $rd); } }
else { copy ($folder."/".$i, $rd."/".$i);
} } }
if ($md!="") { $newname=$folder."/".strtr($newname,
{},/\!@#$%л&*",
"____________________")
mkdir ($newname, 0666);
Header ("Location: index.php?fold=$folder")