ТЕКСТ СЦЕНАРІЮ
Для кращого сприйняття інформації даної глави далі приводиться текст розібраного вище сценарію без яких-небудь коментарів.
Файл index.php
<html> <?php
$begin="files";
if
((strpos($fold,$begin)!=0)||(strpos($fold,"..")!=False) |
| ($fold== ||'|)) {
$dirct=$begin; }
else {
$dirct=$fold; }
echo ("<formaction=zapros.php?folder=$dirct method=post>");
if ($dirct!=$begin) {
$back= substr ($dirct, 0, strrpos($dirct, "/")); echo ("<br><bxahref=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 ("<ahref=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 ("<formaction=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 {
сміттю ($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 { сміттю ($folder."/".$i, $rd."/".$i);
} } }
if ($md!="") { $newname=$folder."/".strtr($newname,
{},/\!@#$%л&*",
"____________________")
mkdir ($newname, 0666);
Header ("Location: index.php?fold=$folder") |