2014-09-03 78 views
0

我想打开,读取和修改文件。但是,该文件的当前路径将其放入只读的文件夹中。这意味着当我用PHP打开它时,文件可以被读取但不能被修改。当我尝试将文件移动到我的用户路径中的文件夹时,PHP脚本找不到它。由于只读权限,PHP无法访问文件

由于文件移动到我的用户路径是我最好的猜测,在一个解决方案,没有人知道如何使PHP发现一旦其存在的文件吗? (或为什么它目前不)

任何帮助表示赞赏。

实施例的代码(找到一个MDB文件,可以读但不能写):

<?php 
    $dbName = "C:/db/SampleUsers.accdb"; 
    $connection = odbc_pconnect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" .$dbName, ";", ";"); 
    if ($connection != true){ exit; }; 
    odbc_close ($connection); 
    echo ": works :"; 
?> 

实施例的代码(找到一个MDB文件,已许可文件夹,但该文件不会被发现)

<?php 
    $dbName = "C:\Users\Andrew\Documents\Project6\db\SampleUsers.accdb"; 
    $connection = odbc_pconnect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" .$dbName, ";", ";"); 
    if ($connection != true){ exit; }; 
    odbc_close ($connection); 
    echo ": works :"; 
?> 
+0

更改其权限,或移动它,你似乎知道答案已经 – 2014-09-03 20:31:40

+0

我不能更改权限,它重置每当我做的。我已经尝试过顶层文件夹,并给予我自己的所有权。通过其他帖子,似乎我的公司正在计算机上运行软件,即使拥有管理员权限,也不允许我更改只读属性。 如果我将文件移动到我的用户路径(例如:C:\用户\安德鲁\文档\ Project6 \ DB \ SampleUsers.accdb“)才把PHP甚至不会连接为读 – Alter 2014-09-03 20:35:37

+1

难道是ODBC本身的设置。作为Access数据库的只读文件是单用户的,而不是为Web应用程序设计的?https://wiki.openoffice.org/wiki/Connecting_to_Microsoft_Access。这可能是相关的:“如果你将连接到一个文件DSN,你不能直接使用它,但你需要一个额外的ADO连接字符串。在这种情况下,数据库表将是只读的。“ – MrYellow 2014-09-03 22:22:04

回答

0

尝试读取文件的内容,将其存储到变量中,然后将内容保存到您有权限的目录中的另一个文件中。

+0

如果没有PHP可以使用的目录,我无法做到这一点。我对我的用户文件夹有权限,但由于某种原因,PHP无法从那里访问文件。 – Alter 2014-09-03 20:42:44

相关问题