PHP 能否读取.db 文件?
同题,如果可以该如何实现?
用以下代码读取出来则是乱码
$file = "EnMicroMsg.db";
$str = file_get_contents($file);//将整个文件内容读入到一个字符串中
$str = str_replace("\r\n","<br />",$str);
fclose($str);
var_dump($str);exit;
解决代码
注:这只是解决普通.db文件方式;因为我要打开的EnMicroMsg.db文件有一层加密,所以我还是没有打开EnMicroMsg.db;
我输入密钥 ‘71ca1d4’但依然打不开,同事用sqlcipher输入密钥后就可以打开,真是很费解,有谁知道原因的在下面留个言,十分感谢各位给出的思路
<?php
class MyDB extends SQLite3
{
function __construct()
{
//根据sqlite提供的open接口,输入密钥key,
//$this->open('EnMicroMsg.db',SQLITE3_OPEN_READWRITE,'71ca1d4');
$this->open('test.db');//test.db存在就链接,不存在就创建
}
}
$db = new MyDB();
if(!$db){
echo $db->lastErrorMsg();
} else {
echo "Opened database successfully\n";
}
$sql =<<<EOF
SELECT * from COMPANY;
EOF;
$ret = $db->query($sql);
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
echo "ID = ". $row['ID'] . "\n";
echo "NAME = ". $row['NAME'] ."\n";
echo "ADDRESS = ". $row['ADDRESS'] ."\n";
echo "SALARY = ".$row['SALARY'] ."\n\n";
}
echo "Operation done successfully\n";
$db->close();
?>
php用sqlite读啊,好像微信sqlite是加密