/ 中存储网

用php将某个 文件夹下的所有文件的 文件名存入MySQL数据库中

2014-04-09 00:00:00 来源:中存储网

实现:用php将某个 文件夹下的所有文件的 文件名存入MySQL数据库中

注意:输入为一个文件夹A,如果这个文件夹中含有其他的文件夹B,则不显示B中的文件,只显示A中的文件。
 
源码如下:

<?php
//功能:将文件夹下的所有文件的文件名存入mysql数据库中
//配置数据库
 $server='localhost';
 $user='root';
 $passwd='password';
 $port='3306';
 $dbname='dbname';
 $link=mysql_connect($server,$user,$passwd);
 if (!$link) {
  die('Could not connect: ' . mysql_error());
 }
 else echo 'Connected successfully';
 $start=time();
 mysql_select_db("catx",$link);//选择数据库名称。
 //php函数体 
 function listDir($dir){
 $cout=0;
  if(is_dir($dir)){
   if($dh= opendir($dir)) {
    while(($file= readdir($dh)) !== false){
     if($file!="."&& $file!=".."){
     $file=mb_convert_encoding ($file,'UTF-8','GBK');//转换编码,因为中文windwows文件名的编码是GBK格式的
     //var_dump($file);
     $re=explode(".",$file);//分解文件名
     $res=$re[0];  //不要文件后缀名,取出文件名
     $sql="insert into table_name(name) values('".$res."');";
     mysql_query($sql);
     $cout++;
     echo $res."<br>";
     }
    }
   closedir($dh);
   }
  }
  return $cout;
 } 
  //此处输入待处理的文件夹路径
  $cout=listDir("E:/data");
 $end=time();
 $time=$end-$start;
 echo "cout:".$cout."<br>";
 echo "starttime:".$start."<br>";
 echo "endtime:".$end."<br>";
 echo $time."<br>";
 mysql_close($link);
?>