如何能够利用PHP语言来进行空间中的文件管理,为我们带来良好的空间布局呢?今天我们就为大家介绍一种简便的PHP文件管理的实现方法。

众所周知,用FTP上传,复制,删除大量文件是相当慢的,传个wordpress就要半个小时以上,删掉它也要半小时。。。而用简单的php代码上传再打开网页,3秒不到即可搞定上述过程,实在很爽(尤其对于偶这种手机玩网站的…)

注:将文中代码复制保存为xxx.php文件上传到空间打开即可(需要修改的对应修改下)

PHP文件管理1.上传和解压代码

  1. < ?php
  2. exec("fetch http://cn.wordpress
    .org/wordpress-2.8-zh_CN.zip");
  3. exec("tar xvfz wordpress-2.8-
    zh_CN.zip");
  4. ?>

这个就是wordpress的上传解压代码,也可以单独用以下代码来解压文件(同样地也可以获取网络文件)

  1. < ?php
  2. exec("tar xvfz wordpress
    -2.8-zh_CN.zip");
  3. ?>

PHP文件管理2.复制代码

通常上面的解压会解压到一个新文件夹,而如果想复制到根目录的话,就可以用以下代码了(移动文件的也有,不过为作备份就不介绍了)(这里以神龙空间为例,路径需要自己改)

  1. < ?
  2. exec("cp -Rf /usr/virtual/leo2351960
    /flysh.co.tv/public_html/wordpress/
     /usr/virtual/leo2351960/flysh.co.
    tv/public_html/");
  3. ?>

上面这个就是把wp文件夹复制到根目录的代码,有两个路径,前面的是需要移动的文件(夹),后面是目标路径,路径须为绝对路径

PHP文件管理3.删除文件(夹)

  1. < ?
  2. exec("rm -r /usr/virtual/
    leo2351960/flysh.co.tv/
    public_html/wordpress");
  3. ?>

注意,谨慎删除,此动作太快,后悔来不及(上次不小心删了个文件夹搞得重装一遍)

PHP文件管理4.修改文件(夹)权限

  1. < ?php
  2. exec("chmod -R 777 /v /usr/virtual
    /leo2351960/flysh.co.tv/public_html/xxx.php");
  3. exec("chmod -R 777 /v /usr/virtual
    /leo2351960/flysh.co.tv/public_html/up");
  4. ?>

对应修改下即可完成大量文件文件夹的权限修改,方便!

PHP文件管理5.批量删除相同前缀数据库表

这个是free8的007兄弟找到的(他找到了还pm我,真是好人啊~),顺便贴上

  1. < ?php
  2. function deldata($dbname,$tableflag){
  3. $db_host = 'localhost';
  4. $db_port = '3306';
  5. $db_user = 'username';
  6. $db_pass = 'password';
  7. $connect =mysql_connect($db_host,
    $db_user,$db_pass);
  8. mysql_select_db($dbname);
  9. $result = mysql_query("show table 
    status from $dbname",$connect);
  10. $data=mysql_fetch_array($result);
  11. while($data=mysql_fetch_array($result)) {
  12. $table=mysubstr($data[Name],"_");
  13. if($table==$tableflag){
  14. //测试之用
  15. /*echo $data[Name];
  16. echo "< br>";
  17. echo $table;
  18. echo "< br>";*/
  19. mysql_query("drop table $data[Name]");
  20. }
  21. }
  22. return true;
  23. }
  24. /*截取某个特定字符前的所有字符函数
  25. *$str 为待截取字符串
  26. *$flag 特定字符如“_”
  27. */
  28. function mysubstr($str,$flag){
  29. $pos=strpos($str,$flag);
  30. return substr($str,0,$pos);
  31. }
  32. ?>
  1. < ?php //test
  2. $dbname="database";
  3. //数据库名
  4. $tableflag="wp";
  5. //要删除的表的前缀,有这个前缀的表才删除
    ,标志出是哪一个用户
  6. deldata($dbname,$tableflag);
  7. //$test=mysubstr("cdb_account_log","_");
  8. //echo $test;
  9. ?>

注意修改上面的username和password还有底下的database和表前缀

OK了,以上就是PHP文件管理一些实用的代码,还有很多大家自己找了,偶最喜欢快捷方便的玩意儿~

简单实现php文件管理的更多相关文章

  1. PHP基础示例:简单的在线文件管理

    先截个图: 下面为代码部分,由于只有一个文件,所以就不折叠了. <?php //简单的在线文件管理 $path = "./"; $filelist=array("f ...

  2. 免费的在线Web文件管理器:Net2FTP,Pydio,eXtplorer,KodExplorer–功能强大

    https://www.freehao123.com/web-ftp/ 经常有朋友在使用一些没有带文件管理器的空间时,苦于没有办法来解压上传的文件压缩包,而如果不先上传压缩包,直接上传文件夹的话耗费的 ...

  3. mount不是很熟悉 转载文章了解下 转自http://forum.ubuntu.org.cn/viewtopic.php?f=120&t=257333

    纯粹针对刚刚解封开包的新新手,老鸟们请自觉绕行,否则浪费你的时间你非要逼我做谋杀犯可不光我的事你还没地方说理去.如果你正好是个崭新的新手,就耐心的花点时间看看吧,至少大概看看,不要在一个陌生又黑暗的到 ...

  4. iOS 资源大全

    这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...

  5. web前端本地测试方法

    在大型项目中的前端测试与开发,通常使用git clone将整个工程目录下载下来,然后本地运行调试. 然而,当一个项目已经发布到测试机上,需要临时查看某个页面的效果或修改某个页面时,clone整个工程目 ...

  6. IOS中文版资源库

    Swift 语言写成的项目会被标记为  ★ ,AppleWatch 的项目则会被标记为 ▲. [转自]https://github.com/jobbole/awesome-ios-cn#librari ...

  7. Object C学习笔记25-文件管理(一)

    在此篇文章中简单记录一下文件管理,在Object C中NSFileManager用于管理文件已经路径.在Object C中的文件路径可以是相对路径也可以是绝对路径.斜线“/”开头,斜线实际上就是一个目 ...

  8. linux 挂载(转载)

    From:http://forum.ubuntu.org.cn/viewtopic.php?t=257333 用linux,就一定要用linux的方式去思维.嗯,说的容易做起来难.我的D盘哪去了?恐怕 ...

  9. 墙裂推荐 iOS 资源大全

    这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...

随机推荐

  1. es6系列-变量声明

    es6系列所有文章都是阅读阮一峰老师的<ES6标准入门>(第2版)所做的读书笔记.方便日后查阅相关基础知识. git地址: https://github.com/rainnaZR/es6- ...

  2. fastdfs-zyc监控系统的使用

    原文:http://blog.csdn.net/foreversunshine/article/details/51907659 写在前面 前面有介绍过怎么安装与使用FastDFS来进行分布式的文件存 ...

  3. Linux 在VMware中搭建CentOS6.5虚拟机

    原文:http://www.cnblogs.com/PurpleDream/p/4263465.html Linux 在VMware中搭建CentOS6.5虚拟机 前言:      本文主要是我在大家 ...

  4. MVC项目引用备注

    新建空的WEB应用 MVC Nuget引用:Microsoft.AspNet.MvcMicrosoft.AspNet.Web.Optimization 可选删除 Microsoft.CodeDom.P ...

  5. 【Exception】查看异常出现在具体的文件名/类名/方法名/具体行号

    今天在处理异常日志保存过程中,想要获取到异常抛出在具体在那个文件,哪个类下的哪个方法中的具体第几行,所以具体实现如下 try{ Integer adminID = Integer.parseInt(a ...

  6. [LeetCode][Java] Unique Paths II

    题目: Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. H ...

  7. Pro Android学习笔记(一三七):Home Screen Widgets(3):配置Activity

    文章转载仅仅能用于非商业性质,且不能带有虚拟货币.积分.注冊等附加条件.转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei. 通过widget定义 ...

  8. angular - 编辑html文件-4

    启动服务器: angular默认端口:4200 ng serve --port 3000 --open 输入本条命令后,会自动打开默认浏览器以及打开APP页 推荐开发工具webStorm,全平台兼容M ...

  9. css3 - 基本选择器

    有人说类选择器最好不要超过三层,其实我也是这样认为的,不是吗? 选择器分为四大类 标签.全选(相对于子类继承了0.1).类.ID 权值分别是:1->0.1->10->100(权值可叠 ...

  10. Ejb in action(六)——拦截器

    Ejb拦截器可以监听程序中的一个或全部方法.与Struts2中拦截器同名,并且他们都可以实现切面式服务.同一时候也与Spring中的AOP技术类似. 不同的是struts2的拦截器的实现原理是一层一层 ...