This script will allow you to manage directories and files.
The only thing you need to do is create a directory where you put the files. You have to add the name of that directory in the file, so just change $file_dir="files"; into the directory you made.
Just unzip the file I posted here. These files don't have to be in the $DOCUMENT_ROOT/$file_dir
notice that if the file_dir is $DOCUMENT_ROOT/downloads/files you wil have to edit the $file_dir into "/downloads/files"
You can create directories in the file_dir and in the subdirectories when you are browsing them, you can also delete the directories, but as you can see when you do so the content of the directory wil be lost too.
You can upload, see and delete files in the same screen.
I haven't made a check on the delete button so if you push it it wil be deleted right away.
By : Orcrist
<HTML>
<HEAD>
<TITLE>File/Backup management screen</TITLE>
<link href='default.css' rel='stylesheet' type='text/css'>
</HEAD>
<BODY>
<?php
$file_dir="files";
function place($path)
{
echo "
<span class='title'>File/backup upload</span><img src=\"spacer.gif\" width='100%' height='10'><br>
<span class='text'>This is an area where you can upload and manage your files for school.<br>To upload the file click browse for the image in your computer and press upload.</span><img src=\"spacer.gif\" width='100%' height='7'><br>
<table border='0' bgcolor='#000000' cellpadding='1' cellspacing='1'>
<tr>
<td align='center'>
<table border='0' cellpadding='0' cellspacing='0' bgcolor='#FFFFFF'>
<tr>
<td align='center' valign='top'><img src=\"spacer.gif\" width='100%' height='15'></td>
</tr>
<tr>
<td align='center'>
<FORM ENCTYPE='multipart/form-data' ACTION='' METHOD='POST'>
File: <INPUT TYPE='FILE' NAME='uploadfile' maxlength='255'>
<INPUT TYPE='hidden' name='action' VALUE='5'>
<INPUT TYPE='hidden' name='path' VALUE='$path'>
</td>
</tr>
<tr>
<td align='center'>
<INPUT TYPE='submit' VALUE='Upload'>
</td></FORM>
</tr>
<tr>
<td align='center' valign='top'><img src=\"spacer.gif\" width='100%' height='15'></td>
</tr>
</table>
</td>
</tr>
</table>
";
}
function place_bottom($path)
{
echo "
<span class='title'>Directory Create</span><img src=\"spacer.gif\" width='100%' height='10'><br>
<span class='text'>This is an area where you can create a directory.<br>To create one you type the name in the field and push create.</span>
<img src=\"spacer.gif\" width='100%' height='7'><br>
<table border='0' bgcolor='#000000' cellpadding='1' cellspacing='1'>
<tr>
<td align='center'>
<table border='0' cellpadding='0' cellspacing='0' bgcolor='#FFFFFF'>
<tr>
<td align='center' valign='top'><img src=\"spacer.gif\" width='100%' height='15'></td>
</tr>
<tr>
<td align='center'>
<FORM ACTION='' METHOD='POST'>
Create directory: <INPUT TYPE='text' NAME='create_dir'>
<INPUT TYPE='hidden' name='action' VALUE='1'>
<INPUT TYPE='hidden' name='path' VALUE='$path'>
</td>
</tr>
<tr>
<td align='center'>
<INPUT TYPE='submit' VALUE='Create'>
</td></FORM>
</tr>
<tr>
<td align='center' valign='top'><img src=\"spacer.gif\" width='100%' height='15'></td>
</tr>
</table>
</td>
</tr>
</table>
";
} // einde place_bottom()
function pics_onsite($path,$DOCUMENT_ROOT,$subdir)
{
global $file_dir;
if (!chdir($path))
{
echo "Error: directory: $path not found....";
}
$handle=opendir('.');
$count=0;
$list= "<table border='0' cellspacing='1' cellpadding='1' bgcolor='#000000'>
<tr><td valign='top' bgcolor='#FFFFFF'><img src=\"spacer.gif\" width='100%' height='7'><br>";
$directory= "<table border='0' cellspacing='1' cellpadding='1' bgcolor='#000000'>
<tr><td valign='top' bgcolor='#FFFFFF' align='center'><img src=\"spacer.gif\" width='100%' height='7'><br>";
if (ereg_replace("$DOCUMENT_ROOT/$file_dir","",$path)!="")
{
$subdir=1;
}
else
{
$subdir=0;
}
while (($file = readdir($handle))!==false)
{
if (($file != ".") && ($file != ".."))
{
if (is_dir($file))
{
$directory.="| <a class='text' href=?action=3&change_path=$path/$file>$file</a> |";
}
if (is_file($file))
{
$file_del=ereg_replace(" ","_",$file);
$list.=" <a class='text' href=?action=4&file=$file_del&path=$path&subdir=$subdir>[delete]</a> <a class='text' href='" . ereg_replace("$DOCUMENT_ROOT","",$path) ."/$file' target='_blank'>$file</a> <br>";
$count++;
if ($count==10){$list.="<img src=\"spacer.gif\" width='100%' height='7'></td><td valign='top' bgcolor='#FFFFFF'><img src=\"spacer.gif\" width='100%' height='7'><br>"; $count=0;}
$wel=1;
}
}
}
if (!$wel){$list.="<center><img src=\"spacer.gif\" width='10' height='7'><span class='textbold'>No files in this directory try another</span><img src=\"spacer.gif\" width='10' height='7'></center>";}
$list.="<img src=\"spacer.gif\" width='100%' height='7'></td></tr></table>";
if ($subdir){$directory.="<a class='text' href=?action=2>| Back |</a>";}
$directory.="<img src=\"spacer.gif\" width='100%' height='7'></td></tr></table>";
echo "
<center>
<span class='textbold'>Carefull with the delete function, it wil delete it all (no control).</span>
<table border=0>
<tr>";
if (ereg_replace("$DOCUMENT_ROOT/$file_dir","",$path)!="")
{
echo "<td align='center' valign='top' class='text'>
You are in directory: <span class='title'>" . ereg_replace("$DOCUMENT_ROOT/$file_dir","",$path) ."</span>
<a class='text' href=?action=6&del_path=$path>[delete_DIR]</a></td>";
}
else
{
echo "<td align='center' valign='top'><img src=\"spacer.gif\" width='100%' height='10'></td>";
}
echo "
</tr>
<tr>
<td align='center' class='text'>Below you will view list of existing files.</td>
</tr>
<tr>
<td align='center' valign='top'><img src=\"spacer.gif\" width='100%' height='7'></td>
</tr><tr>
<td align='center' valign='top'>$directory</td>
</tr>
<tr>
<td align='center' valign='top'><img src=\"spacer.gif\" width='100%' height='7'></td>
</tr>
<tr>
<td align='center' valign='top'>$list</td>
</tr>
</table>
</center>
";
} // einde pics_onsite()
function delete($file)
{
global $message,$path;
if (file_exists($file))
{
chmod($file,0777);
if (is_dir($file))
{
$handle = opendir($file);
while ($filename = readdir($handle))
{
if ($filename != "." && $filename != "..")
{
delete ($file."/".$filename);
}
}
closedir($handle);
if (rmdir($file)){$message.="Directory: " . ereg_replace("$path","",$file) .", deleted<br>";}
}
else
{
if (unlink($file)){$message.="File: " . ereg_replace("$path","",$file) .", deleted<br>";}
}
}
} // einde delete($file)
if (!$path)
{
$path="$DOCUMENT_ROOT/$file_dir";
}
switch ($action)
{
case 1:
$path="$path/$create_dir";
mkdir("$path", 0777);
break;
case 2:
$subdir=0;
break;
case 3:
$path="$change_path";
$subdir=1;
break;
case 4:
$message="<br><br><center><table border='0' cellspacing='1' cellpadding='1' bgcolor='#000000'>
<tr><td valign='top' bgcolor='#FFFFFF' class='text'><img src=\"spacer.gif\" width='100%' height='7'><br>";
IF (@is_file("$path/$file"))
{
@unlink ("$path/$file");
}
ELSE
{
$file=ereg_replace("_"," ",$file);
IF (is_file("$path/$file"))
{
unlink ("$path/$file") or die ("error: $path/$file");
}
}
break;
case 5:
$doel="$path/$uploadfile_name";
IF (!copy ($uploadfile,$doel))
{
echo "Error copying: ($uploadfile) to: ($doel)";
}
break;
case 6:
$message="<br><br><center><table border='0' cellspacing='1' cellpadding='1' bgcolor='#000000'>
<tr><td valign='top' bgcolor='#FFFFFF' class='text'><img src=\"spacer.gif\" width='100%' height='7'><br>";
delete($del_path);
$message.="<img src=\"spacer.gif\" width='100%' height='7'></td></tr></table></center>";
break;
}
echo "
<center>
<table border='0' bgcolor='#000000' cellpadding='1' cellspacing='1'>
<tr>
<td align='center'>"; place($path); echo "<br></td><td align='center'>"; place_bottom($path); echo "<br></td>
</tr>
<tr>
<td align='center' colspan='2'>"; pics_onsite($path,$DOCUMENT_ROOT,$subdir); echo "</td>
</tr>
</table>
$message
</center>
";
?>
</BODY>
</HTML>
Click to
Download File| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
More File Manipulation Code Articles
More By Codewalkers
developerWorks - FREE Tools! |
Poor Requirements Management capabilities in an Enterprise have been linked to excessive project failures, escalating IT costs, and failure to deliver competitive advantage into the marketplace. Join Brianna M Smith from IBM Rational and learn about how successful organizations align IT and Business stakeholders through collaborative processes and tools for effective requirements management, and how an integrated approach across the IT lifecycle can provide unparalleled visibility and traceability to ensure that project teams are delivering on the business vision by "doing the right things" and "doing things right." FREE! Go There Now!
|
|
|
|
Download a free trial version of IBM Rational Developer for System z, software that can help you deliver core development capabilities; the power of Java Platform, Enterprise Edition (Java EE); and rapid application development support to diverse enterprise application development teams. With comprehensive development tools to help create, deploy and maintain traditional enterprise and composite applications, Rational Developer for System z enables developers with different technical backgrounds to easily participate in important technology projects. FREE! Go There Now!
|
|
|
|
Visit IBM developerWorks to download a free trial version of IBM Rational Business Developer V7.1. Rational Business Developer offers rapid and simplified development of business applications and services through Enterprise Generation Language (EGL) tools, generating Java or mainframe solutions while shielding developers from technical complexities. FREE! Go There Now!
|
|
|
|
Manage, govern, and share services across your organization by using WebSphere Service Registry and Repository. Follow the hands-on exercises to learn how to navigate the Web interface to publish, find, reuse, and update services. FREE! Go There Now!
|
|
|
|
Learn from the best! Find out how developers use Rational ClearCase to be more flexible, innovative and deliver higher quality code in the Rational ClearCase Power Users eKit. This complimentary eKit provides a collection of materials, like articles, whitepapers, and demos that can help you become a power user of Rational ClearCase. FREE! Go There Now!
|
|
|
|
Join this Rational Talks to You teleconference on November 29 at 1:00 pm ET to participate in an interactive discusssion with Grady Booch around architecture and reuse. Get your questions answered! FREE! Go There Now!
|
|
|
|
Informix Dynamic Server (IDS) Express Edition offers outstanding online transaction processing (OLTP) database performance, while helping to simplify and automate many of the tasks associated with deploying databases for small business applications. IDS 11 further extends the ease of management and applications integration with the Admin API and Scheduler, high availability with Continuous Log Restore for backup server recovery in case of a primary server failure, and column level encryption to protect personal and company private data. FREE! Go There Now!
|
|
|
|
Get a free trial download of the latest version of IBM Rational Tester for SOA Quality V7.0.1, a functional and regression testing tool that enables the creation, comprehension, modification and execution of testing GUI-less Web services. FREE! Go There Now!
|
|
|
|
In this webcast, IBM Rational will discuss the importance of Web application security and will share techniques and best practices to introduce application security testing into current QA processes including: understanding common security vulnerabilities and techniques to integrate security testing with defect tracking and remediation systems in an effort to safeguard sensitive online information. FREE! Go There Now!
|
|
|
|
In this webcast, you'll get an introduction to the eXtreme Transaction Processing (XTP) features of WebSphere Extended Deployment and the common architectural traits required by XTP applications. See how WebSphere Extended Deployment's ObjectGrid feature provides a state-of-the-art infrastructure for hosting XTP applications. FREE! Go There Now!
|
|
|
|
All FREE IBM® developerWorks Tools! |