如何在php中打开/查看编辑上传的文件?
我试过了,但它没有打开文件。
$my_file = 'file.txt';
$handle = fopen($my_file, 'r');
$data = fread($handle,filesize($my_file));
我也试过了,但它不会工作。
$my_file = 'file.txt';
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file);
$data = 'This is the data';
fwrite($handle, $data);
我想到的就像你想要查看上传的简历,文档或任何其他ms office文件,如.docx,.xls,.pptx,并能够编辑它们,保存并关闭所述文件。< / p>
编辑:最新尝试的代码...
<?php
// Connects to your Database
include "configdb.php";
//Retrieves data from MySQL
$data = mysql_query("SELECT * FROM employees") or die(mysql_error());
//Puts it into an array
while($info = mysql_fetch_array( $data ))
{
//Outputs the image and other data
//Echo "<img src=localhost/uploadfile/images".$info['photo'] ."> <br>";
Echo "<b>Name:</b> ".$info['name'] . "<br> ";
Echo "<b>Email:</b> ".$info['email'] . " <br>";
Echo "<b>Phone:</b> ".$info['phone'] . " <hr>";
//$file=fopen("uploadfile/images/".$info['photo'],"r+");
$file=fopen("Applications/XAMPP/xamppfiles/htdocs/uploadfile/images/file.odt","r") or exit("unable to open file");;
}
?>
我收到错误:
Warning: fopen(Applications/XAMPP/xamppfiles/htdocs/uploadfile/images/file.odt): failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/uploadfile/view.php on line 17
unable to open file
该文件位于该文件夹中,我不知道它不会找到它。
答案 0 :(得分:1)
可能是:
服务器上的权限问题。如果是linux机器,请尝试chmod 754 Applications/XAMPP/xamppfiles/htdocs/uploadfile/images/file.odt
(您可能需要root)。
apache(或您可能正在使用的任何网络服务器)的问题。确保您已在该站点的配置文件中定义了一个目录条目。文档here。
虽然如果我没记错的话,odt文件只是二进制数据而不是文本信息。这可能就是你要找的东西,我不知道。如果您只是想阅读实际文本,并且您对使用某个库提取它不感兴趣,则需要将其保存为纯文本。如果你真的想在浏览器中编辑这些文件,那么你需要的不仅仅是fopen
。
答案 1 :(得分:0)
对于基于文本的文件,您可以使用file_get_contents
和file_put_contents
但是,ODT文件是zip压缩的XML文件,因此您需要先解压缩它们:
$zip = new ZipArchive;
$res = $zip->open('Applications/XAMPP/xamppfiles/htdocs/uploadfile/images/file.odt');
if ($res === TRUE) {
$zip->extractTo('/tmp/myOdt.xml');
$zip->close();
}
$data = file_get_contents('/tmp/myOdt.xml');
$data .= 'add this to the end';
file_put_contents('path/to/file.txt', $data);
但是,您的问题似乎与文件的实际路径有关。请尝试使用相对路径:"images/file.odt"