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();
?>
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

php用sqlite读啊,好像微信sqlite是加密

4年前 评论
我真叫阳阳 (楼主) 4年前
讨论数量: 6

这不是微信客户端的数据库文件吗

4年前 评论

@AlicFeng 是的 用android可以读 不知道PHP可不可以,自己试了一下不行 ,我就求救社区了

4年前 评论

android sqlite, 你直接读当然不行

4年前 评论
我真叫阳阳 (楼主) 4年前

php用sqlite读啊,好像微信sqlite是加密

4年前 评论
我真叫阳阳 (楼主) 4年前

这里推荐个小巧的PHP数据库框架 https://medoo.in/ 可以手动尝试读取测试下,它支持多种数据库

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!