Php file source code (1/2)

Source: Internet
Author: User

/*************************************
* --- File management
* Author: caogen
* Declaration: The file function can be found in the phps tutorial py,
************************************/
 

The code is as follows: Copy code

If (function_exists ('date _ default_timezone_set '))
 {
@ Date_default_timezone_set ('Asia/Shanghai ');
 }
 
Define ('is _ win', directory_separator = '\');
Define ('is _ com', class_exists ('com ')? 1: 0 );
Define ('web _ root', str_replace ('\', '/', dirname (_ file __)).'/');
$ Phpself = htmlspecialchars ($ _ server ['php _ self ']? $ _ Server ['php _ self ']: $ _ server ['script _ name']);
$ Msg = '';
 
If (! Empty ($ _ post ['cwddir'])
 {
$ _ Post ['cwddir'] = addslashes ($ _ post ['cwddir']);
If (is_dir ($ _ post ['cwddir'])
Chdir ($ _ post ['cwddir']);
 }
 
$ Cwddir = getcwddir (); // Obtain the current working path
 
$ Freespaces = disk_free_space ($ cwddir); // available space on the current disk
$ Totalspaces = disk_total_space ($ cwddir); // total current space size
// Header ("content-type: text/html; charset = utf-8 ");
 
// Create a directory
If ($ _ post ['newdirname'])
 {
$ Newdir = $ _ post ['dirname']. $ _ post ['newdirname'];
If (file_exists ($ newdir ))
  {
$ Msg = "this directory: $ newdir already exists. Please use another name ";
} Else {
$ Msg = "create $ newdir". (@ mkdir ($ newdir, 0777 )? 'Success': 'failed ');
  }
 }
 
// File Upload
If ($ _ post ['upload'])
 {
$ Fname = $ _ files ['upfilename'];
$ Msg = fileupload ($ fname, $ _ post ['todir']);
 }
 
// Change the name
If ($ _ post ['newname'])
 {
$ Newname = addslashes ($ _ post ['newname']);
$ Oldname = addslashes ($ _ post ['oldname']);
$ Dirname = addslashes ($ _ post ['dirname']);
$ Newname = $ dirname. $ newname;
If (! File_exists ($ newname ))
  {
If (rename ($ oldname, $ newname ))
   {
$ Msg = 'name changed successfully ';
} Else {
$ Msg = 'unchangeable. Check related configurations and authorization ';
   }
} Else {
$ Msg = 'the file already exists. Please change to another name! ';
  }
 }
 
// Copy an object
If ($ _ post ['tofile'])
 {
$ Tofile = addslashes ($ _ post ['tofile']);
$ Oldname = addslashes ($ _ post ['oldname']);
If (file_exists ($ tofile ))
  {
$ Msg = 'the file already exists. Please change to another name! ';
} Else {
If (copy ($ oldname, $ tofile ))
   {
$ Msg = "copying the file $ oldname to $ tofile succeeded! ";
} Else {
$ Msg = "an error occurred while copying the file $ oldname to $ tofile. Check the configuration and permissions! ";
   }
  }
 }
 
// Download the file: the source code is from phpspy2008, because I have no idea about header ().
If ($ _ post ['dfile'])
 {
$ Thefile = addslashes ($ _ post ['dfile']);
// Header ("location: $ dfile ");
If (! @ File_exists ($ thefile )){
$ Errmsg = 'The file you want downloadable was nonexistent ';
} Else {
$ Fileinfo = pathinfo ($ thefile );
Header ('content-type: application/x-'. $ fileinfo ['extension']);
Header ('content-disposition: attachment; filename = '. $ fileinfo ['basename']);
Header ('content-length: '. filesize ($ thefile ));
@ Readfile ($ thefile );
Exit;
  }
 }
 
// Delete a single object
If ($ _ post ['delfilename'])
 {
$ Delfilename = addslashes ($ _ post ['delfilename']);
If (! File_exists ($ delfilename ))
  {
$ Msg = 'The file does not exist! ';
} Else {
If (unlink ($ delfilename ))
   {
$ Msg = 'Delete'. $ delfilename. 'success ';
} Else {
$ Msg = 'Delete'. $ delfilename. 'failed. Please check related configuration and authorization ';
   }
  }
 }
 
// Delete a folder
If ($ _ post ['deldirname'])
 {
$ Delname = addslashes ($ _ post ['deldirname']);
If (deltree ($ delname ))
   {
$ Msg = 'Delete'. $ delname. 'Successfully ';
} Else {
$ Msg = 'Delete'. $ delname. 'failed. Please check related configuration and authorization ';
   }
 }
 
// Create a file
If ($ _ post ['createtofile'])
 {
$ Createfilename = htmlspecialchars (addslashes ($ _ post ['createdirname']. $ _ post ['createtofile']);
// Echo $ createfilename;
If (file_exists ($ createfilename ))
  {
$ Msg = 'the file already exists! ';
$ Createfilename = 0;
} Else {
If ($ creatfhandle = fopen ($ createfilename, 'w '))
   {
// Echo 'dffdfd ';
Fclose ($ creatfhandle );
} Else {
$ Msg = 'file creation failed. Please check related configurations and permissions! ';
   }
  }
 }
 
// Edit the file
If ($ _ post ['editfilename'])
 {
$ Createfilename = addslashes ($ _ post ['editfilename']);
If (! File_exists ($ createfilename ))
  {
$ Msg = 'The file does not exist! ';
$ Createfilename = 0;
  }
 }
 
// Save the edited file
If ($ _ post ['editsubmit '])
 {
$ Savefilecontent = htmlspecialchars ($ _ post ['fcontent']);
$ Savefilename = $ _ post ['editfname'];
If ($ fhandle = fopen ($ savefilename, 'WB '))
  {
If (fwrite ($ fhandle, $ savefilecontent ))
   {
$ Msg = 'Edited successfully! ';
} Else {
$ Msg = 'edit failed! ';
   }
Fclose ($ fhandle );
  }
 }
 
// Modify attributes
If ($ _ post ['newperm'])
 {
$ Newperm = $ _ post ['newperm'];
$ Pfile = addslashes ($ _ post ['pfile']);
If (! File_exists ($ pfile ))
  {
$ Msg = 'File does not exist ';
} Else {
$ Newperm = base_convert ($ newperm, 8, 10 );
$ Msg = 'modify file attribute'. (@ chmod ($ pfile, $ newperm )? 'Success': 'failed ');
  }
 }

?>
<! Doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<Html xmlns = "http://www.w3.org/1999/xhtml">
<Head>
<Meta http-equiv = "content-type" content = "text/html; charset = gb2312"/>
<Title> File management </title>
<Style type = "text/css tutorial">
Div {
Width: 1000px;
Text-align: left;
Border: 1px solid # ccffff;
Margin: 1px;
Padding: 1px;
Display: block;
Float: left;
Background-color: # fafafb;
}
Body {
Font-size: 12px;
Line-height: 16px;
Font-family: arial, helvetica, sans-serif;
Text-align: left;
}
</Style>
<Script type = "text/webpage effects">
// This webpage special effect code comes from phpspy. I don't know much about special webpage effects. Haha
Function checkall (form ){
For (var I = 0; I <form. elements. length; I ++ ){
Var e = form. elements [I];
If (e. name! = 'Chall ')
E. checked = form. chkall. checked;
    }
}
Function $ (id ){
Return document. getelementbyid (id );
}
Function goaction (act ){
$ ('Goaction'). action. value = act;
$ ('Goaction'). submit ();
}
Function godir (dir ){
$ ('Godir'). cwddir. value = dir;
$ ('Godir'). submit ();
}
Function createdir (){
Var newdirname;
Newdirname = prompt ('Enter the directory name (note: it can only be created in the current directory ):','');
If (! Newdirname) return;
$ ('Createdir'). newdirname. value = newdirname;
$ ('Createdir'). submit ();
}
Function changperm (pfile ){
Var newperm;
Newperm = prompt ('Current file: '+ pfile + 'Please input new attribute :','');
If (! Newperm) return;
$ ('Fileperm'). newperm. value = newperm;
$ ('Fileperm'). pfile. value = pfile;
$ ('Fileperm'). submit ();
}
Function copyfile (sname ){
Var tofile;
Tofile = prompt ('original file: '+ sname + 'Please input object file (fullpath ):','');
If (! Tofile) return;
$ ('Copyfile'). tofile. value = tofile;
$ ('Copyfile'). oldname. value = sname;
$ ('Copyfile'). submit ();
}
Function rename (oldname ){
Var newfilename;
Newfilename = prompt ('former file name: '+ oldname + 'Please input new filename :','');
If (! Newfilename) return;
$ ('Rename'). newname. value = newfilename;
$ ('Rename'). oldname. value = oldname;
$ ('Rename'). submit ();
}
Function delsinglefile (thefile ){
If (thefile &&! Confirm ('Are you sure you want to delete '+ thefile +? ')){
Return;
 }
$ ('Delsfile'). delfilename. value = thefile;
$ ('Delsfile'). submit ();
}
Function deldir (thefile ){
If (thefile &&! Confirm ('Are you sure you want to delete '+ thefile +' and its subfiles? ')){
Return;
 }
$ ('Deldirs'). deldirname. value = thefile;
// Confirm ('Are you sure you want to delete '+ thefile +? ');
$ ('Deldirs'). submit ();
}
Function downfile (thefile ){
If (! Thefile ){
Return;
 }
$ ('Downfile'). dfile. value = thefile;
$ ('Downfile'). submit ();
}
Function createfile (nowpath ){
Var filename;
Filename = prompt ('Please input the file name :','');
If (! Filename) return;
// Opfile ('editfile', nowpath + filename, nowpath );
// Confirm ('Are you sure you want to create '+ filename +? ');
$ ('Createfiles'). createtofile. value = filename;
// Confirm ('Are you sure you want to create '+ filename +? ');
$ ('Createfiles'). submit ();
}
Function editfile (filename ){
If (! Filename) return;
$ ('Editfiles'). editfilename. value = filename;
 
$ ('Editfiles'). submit ();
}
</Script>
</Head>
<Body>
<! --
<Div>
<Strong style = "float: left"> 127.0.0.1 (localhost) </strong>
<Span style = "float: right"> access time: <? Php echo date ('Y-m-d h: m: s');?> </Span>
</Div>
-->
<Div>
<A href = "webpage effect: godir ('<? Php echo addslashes ($ _ server ['document _ root']);?> '); "> Webroot </a>
  |
<A href = "javascript: createdir ();"> create directory </a>
  |
<A href = "javascript: createfile ('C:/inetpub/wwwroot/mywork/');"> create file </a>
<? Php
If (is_win & is_com ){
// This code comes from phpspy
$ Obj = new com ('scripting. filesystemobject ');
If ($ obj & is_object ($ obj )){
$ Drivetypedb = array (0 => 'unknow', 1 => 'removable', 2 => 'fixed', 3 => 'Network', 4 => 'cdrom ', 5 => 'Ram Disk ');
Foreach ($ obj-> drives as $ drive ){
If ($ drive-> drivetype = 2 ){
Echo ('| <a href = "javascript: godir (''. $ drive-> path. '/'); "title =" size :'. realsize ($ drive-> totalsize ). '& #13; free :'. realsize ($ drive-> freespace ). '& #13; type :'. $ drivetypedb [$ drive-> drivetype]. '"> '. $ drivetypedb [$ drive-> drivetype]. '('. $ drive-> path. ') </a> ');
} Else {
Echo ('| <a href = "javascript: godir (''. $ drive-> path. '/'); "title =" type :'. $ drivetypedb [$ drive-> drivetype]. '"> '. $ drivetypedb [$ drive-> drivetype]. '('. $ drive-> path. ') </a> ');
    }
   }
  }
 }
?>
 
</Div>
<Div>
<Strong> <? Php echo $ msg;?> </Strong>
</Div>
<Div>
<Form id = "godir" name = "godir" method = "post" action = "<? Php echo $ phpself;?> ">
Current Directory: (<? Php echo getpermsnum ($ cwddir); echo is_writable ($ cwddir )? 'Writeable ': 'writeable';?>)
<Input name = "cwddir" type = "text" id = "cwddir" style = "width: 50%" value = "<? Php echo $ cwddir;?> "/>
<Input type = "submit" name = "godir" id = "godir" value = "submit"/>
</Form>
</Div>
<Div>
<Form action = "" method = "post" enctype = "multipart/form-data" name = "form2" id = "form2">
<Strong> file manager-current disk free <? Php echo realsize ($ freespaces);?> Of <? Php echo realsize ($ totalspaces);?> (<? Php echo round ($ freespaces/$ totalspaces * 100, 2). '%';?>) </Strong>
<Input name = "upfilename" type = "file" id = "upfilename"/>
<Input name = "todir" type = "hidden" value = "<? Php echo $ cwddir;?> "/>
<Input type = "submit" name = "upload" id = "upload" value = "upload"/>
</Form>
</Div>
<Div>
<Form id = "createdir" name = "createdir" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "newdirname" type = "hidden" id = "newdirname" value = ""/>
<Input name = "dirname" type = "hidden" id = "dirname" value = "<? Php echo $ cwddir;?> "/>
</Form>
<! -- <Form id = "createfile" name = "createfile" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "newfilename" type = "hidden" id = "newfilename" value = ""/>
<Input name = "dirname" type = "hidden" id = "dirname" value = "<? Php echo $ cwddir;?> "/>
</Form> -->
<Form id = "deldir" name = "deldir" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "newdirname" type = "hidden" id = "newdirname" value = ""/>
<Input name = "dirname" type = "hidden" id = "dirname" value = "<? Php echo $ cwddir;?> "/>
</Form>
<Form id = "rename" name = "rename" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "newname" type = "hidden" id = "newname" value = ""/>
<Input name = "oldname" type = "hidden" id = "oldname" value = ""/>
<Input name = "dirname" type = "hidden" id = "dirname" value = "<? Php echo $ cwddir;?> "/>
</Form>
<Form id = "copyfile" name = "copyfile" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "tofile" type = "hidden" id = "tofile" value = ""/>
<Input name = "oldname" type = "hidden" id = "oldname" value = ""/>
</Form>
<Form id = "downfile" name = "downfile" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "dfile" type = "hidden" id = "dfile" value = ""/>
</Form>
<Form id = "delsfile" name = "delsfile" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "delfilename" type = "hidden" id = "delfilename" value = ""/>
</Form>
<Form id = "deldirs" name = "deldirs" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "deldirname" type = "hidden" id = "deldirname" value = ""/>
</Form>
<Form id = "createfiles" name = "createfiles" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "createtofile" type = "hidden" id = "createtofile" value = ""/>
<Input name = "createdirname" type = "hidden" id = "createdirname" value = "<? Php echo $ cwddir;?> "/>
</Form>
<Form id = "editfiles" name = "editfiles" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "editfilename" type = "hidden" id = "editfilename" value = ""/>
</Form>
<Form id = "fileperm" name = "fileperm" method = "post" action = "<? Php echo $ phpself;?> ">
<Input name = "newperm" type = "hidden" id = "newperm" value = ""/>
<Input name = "pfile" type = "hidden" id = "pfile" value = ""/>
</Form>
 

 

Homepage 1 2 Last page

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.