草庐IT

javascript - 使用 JavaScript 将 blob 添加到 tar 并流式传输到服务器

我的服务器只接受.tar.gz文件或.zip文件。客户端(在浏览器中)我在内存中有几个Blob,我需要将其推送回服务器。有什么方法可以通过将这些Blob文件直接流式传输到服务器来存档这些Blob文件(即添加到zip或tar.gz)?我想避免在将完整的tar.gz文件推送回服务器之前将其保存在内存中。谢谢 最佳答案 这是一个duplicatequestion,seehere它链接tothisarticle流媒体tarfiles,seehere. 关于javascript-使用JavaScr

javascript - .rar 和 .tar 缺少 MIME 类型

Javascript(Windows8.1、Firefox)似乎没有.tar文件或.rar文件的mime类型(也许还有其他文件;这是我找到的仅有的两个)。那是怎么回事?有什么我可以用来解决这个问题的吗?我真的很想能够检索这些文件类型的MIME类型,而无需进行一些奇怪的扩展黑客攻击。我做了一个fiddle来证明这个问题:http://jsfiddle.net/kungfujoe/jd8h7wvs/如果您浏览到.txt、.docx或许多其他格式,则类型已成功提取。但是,.tar和.rar都不会提取它们。奇怪,对吧?(下面的JSFiddle代码)HTMLOutputGoesHereJavas

php - 使用 git 进行部署与发送 .tar.gz 相比有什么明显的优势吗?

这个问题旨在区分两种部署方法之间的事实差异,而不是主观的。查看最后的列表以了解具体概念。我目前正在寻找从构建应用的任何地方部署我的应用的选项。我已经阅读了很多关于git有时如何用于部署的内容并且很熟悉。我还了解了如何简单地创建所需文件的tar.gz,然后将其发送到服务器。我越想这个,就越觉得简单地编写脚本来创建和发送存档比依赖git进行部署更简单并且“更静态”。到目前为止,让我赞成简单存档的主要因素是:目的地不必安装git或任何其他工具我不必为目标上的依赖项检查设置任何特殊键使用git时,部署的仓库总是比实际部署的代码大我将少一个git存储库以保持一致在我的具体情况下,我还有在git存

php - PharData extractTo 方法在 linux 环境下提取 .tar.gz 失败

我想将.tar.gz文件提取到特定文件夹中。我使用cURL从MailChimp批处理操作下载.tar.gz文件。我使用以下代码提取tar文件。$phar=new\PharData('upload/test.tar.gz');$phar->extractTo('upload/',null,true);在windows环境下运行。但是在Linux(Ubuntu)上,我在运行上面的代码时遇到了以下错误。Uncaughtexception'PharException'withmessage'Extractionfromphar"upload/test.tar"failed:Cannotextr

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 - 在 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 - 使用 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 - 使用 PHP 以 tar.gz 格式动态压缩目录

我想使用PHP压缩(即时)tar.gz格式的目录。我知道可以使用exec或使用thiscode来完成(使用ZIP格式)但我的主机不支持exec并且没有安装PHP的zip扩展。在网上搜索后我发现了thisPHPcode:这确实适用于多个文件:header("Content-Disposition:attachment;filename=backup.tar.gz");header("Content-type:application/x-gzip");$getfile=file_get_contents("test.txt");echotargz('test.txt',$getfile);