2017-06-17 27 views
-1

我得到了一个从目录到mysql插入脚本的工作映像。问题是我在每个目录后需要更改脚本本身的名称从其他目录插入下一个图像。每个文件和每个diretory与图像是在一个名为“图像”prent目录。所以我的问题我怎么能说从这个目录中插入一切在MySQL数据库中,并使用该目录的名称作为其中的图像的类别名称。如何提高使用php批量mysql插入从目录一次抓取所有目录和图像

<?php 
$server = 'xxxxx'; 
$dbuser = 'xxxxxx'; 
$dbpass = 'xxxxxx'; 
$dbname = 'xxxxxxx'; 

$connect = mysql_connect($server,$dbuser,$dbpass); 
mysql_select_db($dbname,$connect); 





$path = "images/thanks/"; 
$files = array_map('mysql_real_escape_string',array_filter(glob("{$path}*.*"),'is_file')); 

if(empty($files)){ 
    echo "There were no matching files to insert into the database."; 
} else {  
    $insertValues = array(); 
foreach($files as $file) 

{ 
$data = getimagesize($file); 
$width = $data[0]; 
$height = $data[1]; 
    $insertValues[] = "('Titel', 'thanks', '{$file}', '$width', '$height')"; 
}$query = "INSERT INTO `gbpics` (`gbpictitel`, `gbpiccat`, `gbpicurl`, `gbpicwidth`, `gbpicheight`) VALUES " . implode(', ', $insertValues); 
    if(!mysql_query($query)){ 
     echo "There was a problem inserting the data."; 
     trigger_error("Query failed: $query<br />Error: " . mysql_error()); 
    } else { 
     echo "The data was inserted successfully."; 
    } 
}?> 
+0

我强烈建议你在代码审查第一张贴此。 – hakre

回答

0

试试这个:

<?php 
$server = 'xxxxx'; 
$dbuser = 'xxxxxx'; 
$dbpass = 'xxxxxx'; 
$dbname = 'xxxxxxx'; 

$connect = mysql_connect($server, $dbuser, $dbpass); 
mysql_select_db($dbname, $connect); 




$dirs = array_filter(glob('images/*'), 'is_dir'); 
foreach ($dirs as $dir) { 
    $path = "images/" . $dir . "/"; 
    $files = array_map('mysql_real_escape_string', array_filter(glob("{$path}*.*"), 'is_file')); 

    if (empty($files)) { 
     echo "There were no matching files to insert into the database."; 
    } else { 
     $insertValues = array(); 
     foreach ($files as $file) { 
      $data   = getimagesize($file); 
      $width   = $data[0]; 
      $height   = $data[1]; 
      $insertValues[] = "('Titel', {$dir}, '{$file}', '$width', '$height')"; 
     } 
     $query = "INSERT INTO `gbpics` (`gbpictitel`, `gbpiccat`, `gbpicurl`, `gbpicwidth`, `gbpicheight`) VALUES " . implode(', ', $insertValues); 
     if (!mysql_query($query)) { 
      echo "There was a problem inserting the data."; 
      trigger_error("Query failed: $query<br />Error: " . mysql_error()); 
     } else { 
      echo "The data was inserted successfully."; 
     } 
    } 
} 
?> 

顺便说一句,你已经很过时这里的代码... 不使用mysql_使用mysqli_

+0

嗨,朋友是的,我会建议,但脚本没有工作,他给了我这样的错误千次“没有匹配的文件插入到数据库中。”有一个想法?我的上传文件在根目录我的分类文件夹中的主文件夹图像,所以它应该工作不能找出为什么不.. ..请帮助@RiazLaskar –

相关问题