我想通过传递远程网址(http://www.example.com/file.zip
或http://localhost/wordpress/wp-content/uploads/file.zip
)而不是文件位置(C:\wamp\www\wordpress\wp-content\uploads\file.zip
)来打开ZIP文件
此构造函数适用于文件位置,但不适用于文件的远程url
。如何使用此方案的远程URL打开文件?
public function __construct($file = false)
{
if ($file && is_file($file)) {
//$file="C:\wamp\www\wordpress\wp-content\uploads\file.zip" here
$this->open($file);
$this->fileName = basename($this->filePath = $file);
} else {
throw new \Exception($file . " not a regular file");
}
}
答案 0 :(得分:1)
最安全的方法是
allow_url_fopen
,这非常简单:file_get_contents()
接受远程网址。如果未启用,请使用cURL或Wordpress HTTP帮助程序进行下载。file_put_contents()
也非常简单。 /tmp
文件夹可能是您可以写的。在Windows上,我不知道tmp文件夹的位置。ZipArchive::open()
或您无名的班级答案 1 :(得分:0)
只需使用php fopen功能
http://php.net/manual/en/function.fopen.php
$handle = fopen("http://www.example.com/", "r");
答案 2 :(得分:0)
我用它来获取网页的内容但不是拉链文件 - 不确定这是否有用但是对我来说效果很好。 $contents
肯定适用于文字。
// For PHP 5 and up
$handle = fopen("https://www.thesiteyouwant.com/the_target_file.ext", "r");
$contents = stream_get_contents($handle);