我正在尝试读取多个.sql文件,然后将它们执行到数据库中。这有效,但现在我需要在成功导入数据库后删除该文件。
我怎样才能做到这一点?
<?php
function scan_for_sql_files($path){
$itdir = new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS),
\RecursiveIteratorIterator::SELF_FIRST,
\RecursiveIteratorIterator::CATCH_GET_CHILD);
$files = array();
foreach ($itdir as $path=>$dir){
if ($dir->isFile()){
$ext = substr(strtolower($path), -3);
if($ext == 'sql'){
$files[] = array('path' => $path);
}
}
}
return $files;
}
//get files
$files = scan_for_sql_files('mysqls');
//Do sql
foreach($files as $file){
$sql = file_get_contents($file['path']);
$qr = $dbh->exec($sql);
}
?>
答案 0 :(得分:0)
您可以使用unlink()
功能删除文件。
unlink('test.html');
foreach($files as $file){
$sql = file_get_contents($file['path']);
$qr = $dbh->exec($sql);
if(is_file($file['path'])){
unlink($file['path']);
}
}
答案 1 :(得分:0)
您可以添加&#34;取消关联&#34;功能摆脱文件
简单修改:
foreach($files as $file){
$sql = file_get_contents($file['path']);
$qr = $dbh->exec($sql);
unlink($file['path']);
}
答案 2 :(得分:0)
您可以通过此
删除您的sql文件的unlink( 'database.sql');
或
您可以通过此
删除sql文件内容file_put_contents(“database.sql”,“”);
如果您正在使用窗口操作系统,请不要担心,但如果您在linux中工作,则必须设置所有sql文件的权限,否则您的文件将无法通过您的php脚本访问