草庐IT

tar_extract

全部标签

php - 使用 php PharData 提取带有空目录的 tar 存档

我正在尝试通过PHP提取.tar存档。我正在使用这样的代码:$phar=newPharData('test.tar');$phar->extractTo('/home/user/newtest');它工作正常,但是如果我的存档包含一个空目录,它不会被上述代码提取。因此,如果我的.tar文件具有以下结构:user@computer:~/test$tar-tvftest.tardrwxrwxr-xuser/user02012-12-0722:35dir1/-rw-rw-r--user/user7982012-10-2823:41dir1/articles.txtdrwxrwxr-xuser

php - tar 提取后,更改权限

今天只是一个关于unix和PHP的问题。我在我的PHP上所做的是使用Unix系统来解压缩压缩文件。exec("tar-xzffoo.tar.gz");通常一切正常,直到我遇到这个特定的foo.tar.gz,它有一个文件系统如下:Applications/Library/Systems/运行tar命令后,文件权限似乎更改为644(而不是755)。这会导致Permissiondenied(errno13)并因此禁用我的大部分代码。(我猜是因为缺乏特权)有什么方法可以阻止这个tar命令完全破坏我的权限?谢谢。哦,这似乎只有在我有一个具有这个特定文件系统的foo.tar.gz文件时才会发生。其

PHP/正则表达式 : extracting video id from youtube url- embedded code

我正在尝试从youtubeurl输入中获取嵌入式代码。我偶然发现了这个ANSWER但是现在我将该答案应用于我的代码,但没有得到任何结果。我的目标是让正则表达式将url变成这样:http://www.youtube.com/watch?v=videoid.我怎样才能让正则表达式函数真正与我的代码一起工作?URL:     "name="yurl">Height: "name="yheight">$hth-->Width:  "name="ywidth">$wdth-->Autoplay: "name

php - 在 PHP 5.3 中执行 tar.gz 操作 - CLI 与 Phar?

我需要在Apache(php5.3)上运行的php脚本中执行一些targzip操作。过去,我用过:newPharData($archivePath.'.tar');$p=$p->convertToExecutable(Phar::TAR,Phar::GZ);$p->startBuffering();但是在这种情况下,它可能必须处理1GB+文件。所以我担心php/apache过载。在那种情况下,是否最好依靠shell_exec并让操作系统承担负载? 最佳答案 我同意MarcB的观点,我会想到的主要考虑因素是:部署环境...使用Shel

php - Zend 框架 2 : Form bind not setting the values extracted from database

我想使用ZendFramework2为我的应用程序创建一个表单,我已准备好所有内容并且表单正在显示,但我的问题是我无法绑定(bind)来自数据库的初始表单值$myUserDetails=;$form=$form->bind($myUserDetails);//Thisshouldsetthevaluesfortheformtodisplaybutitdoesnt我的显示逻辑很简单如下图$form=$this->form;$form->setAttribute('action',$this->url('',array('action'=>'')));$form->prepare();ec

php - 使用 PHP 创建 .tar.gz 文件

我正在从事的项目需要创建.tar.gz文件并将其提供给外部服务。此外部服务仅适用于.tar.gz,因此另一种类型的存档是不可能的。我正在处理的代码将执行的服务器不允许访问系统调用。所以system、exec、反引号等都不是什么好东西。这意味着我必须依靠纯PHP实现来创建.tar.gz文件。经过一些研究,PharData似乎有助于实现这一结果。但是我遇到了困难,需要一些指导。考虑以下文件夹布局:parentfolder-childfolder1-childfolder2-file1-file2我正在使用下面的代码片段创建.tar.gz存档,它可以解决问题,但最终结果有一个小问题,它不包含

php - phar 在创建 tar 存档时排除目录

我想使用内置的PharData类在PHP脚本中创建一个tar存档。我希望tar存档代表一个目录,所以我想到了使用PharData::buildFromDirectory()来做到这一点。不幸的是,该目录也是一个git存储库,其中有一个.git文件夹,它比目录本身大得多。所以我需要从存档中删除那个.git目录(最好还有.idea目录...),因为它会不必要地膨胀。到目前为止我尝试了什么:使用正则表达式过滤掉目录:$archive->buildFromDirectory("..","@^(?!.git).+@");哪个没用。使用PharData::delete(),但不幸的是,这似乎只删除

php Extract 对此图像的最佳猜测来自谷歌图像搜索?

我有一个要求,我必须在谷歌上反向查找图像并提取打印在“此图像的最佳猜测:”标题上的名称。不,我对网上现有的curl代码进行了一些修改并走到了这一步:loadHTML($searched);foreach($xml->getElementsByTagName('div')as$div){if(strpos($div->nodeValue,"Bestguessforthisimage:"))return$div->nodeValue;}}$content=fetch_google("http://media.il.edmunds-media.com/aston-martin/as/03/d

PHP 正则表达式 : extract last number in filename

我需要一个正则表达式来提取一个数字,这个数字总是在用()包裹的文件的末尾。例如:Vacation(1).pngreturns1Vacation(MeandMom)(2).pngreturns2Vacation(5)(3).pngreturns3希望那里有一些正则表达式专家:) 最佳答案 随便写吧,$是主题的结尾:$pattern='/\((\d+)\)\.png$/';$number=preg_match($pattern,$subject,$matches)?$matches[1]:NULL;这是一个所谓的锚定模式,它工作得很好,

php - 为什么 extract() 与函数一起工作?

提取(some_function_that_returns_array());工作正常。但是在php.net上它说第一个参数必须是一个引用变量:http://php.net/manual/en/function.extract.php.这是一个错误吗?所以functionfoo(&$array){}functionlol(){$arr=array();return$arr;}foo(lol());显示“严格的标准:只有变量应该通过引用传递...”提取物不会发生这种情况 最佳答案 要么文档有误,要么函数有误。老实说,出于任何原因我都看