我有这个代码来读取文件进行预览,但缺点是我必须首先从云下载文件并从中读取,但这是浪费空间所以我想在查看某个文件后将其删除。这样做有自动方式吗?或者我是否必须将其集成到关闭按钮?
// Get the container we want to use
$container = $conn->get_container('mailtemplate');
//$filename = 'template1.zip';
// upload file to Rackspace
$object = $container->get_object($filename);
//var_dump($object);
//echo '<pre>' . print_r($object,true) . '</pre>';
$localfile = $dir.$filename;
//echo $localfile;
$object->save_to_filename($localfile);
if($_GET['preview'] == "true")
{
$dir = "../mailtemplates/";
$file1 = $_GET['tfilename'];
$file = $dir.$file1;
$file2 = "index.html";
$info = pathinfo($file);
$file_name = basename($file,'.'.$info['extension']);
$path = $file_name.'/'.$file2;
$zip = new ZipArchive();
$zip->open($file);
$fp = $zip->getStream($path);
if(!$fp)
{
exit("faileds\n");
$zip->close();
unlink($dir.$filename);
}
else
{
$stuff = stream_get_contents($fp);
echo $stuff;
$zip->close();
if($stuff != null)
{
unlink($dir.$filename);
}
}
}
else
{
unlink($dir.$filename);
}
答案 0 :(得分:1)
你没有谷歌这样做了吗?
尝试Unlink
编辑:
看一下这段代码,$zip->open($file);
&lt; - 就是打开文件的地方。文件变量由:
"../mailtemplates/" . basename($_GET['tfilename'], '.' . $info['extension']) . '/' . "index.html"
因此,您正在抓取相对目录并将文件名作为文件夹抓取,然后转到该文件夹 /index.html 。这是一个例子:
如果您正在进行 c:\ 测试,那么您将转到.. / mailtemplates / ,您将进入 c:\ mailtemplates 然后你看文件测试 .php但你删除文件扩展名,所以你将打开 c:\ mailtemplates \ test \ index.html 所以你打开那个html文件并阅读它。然后,您正在尝试删除 c:\ mailtemplates \ test.php
你能解释一下这对你有什么意义吗?因为这对我来说似乎很奇怪。