我正在开发一个简单的php上传脚本,用户只能上传ZIP和RAR文件.
我应该使用哪些MIME类型来检查$_FILES[x][type]
?(请完整清单)
谢谢..
我正在尝试自动提取用7-zip压缩的大量文件.我需要自动化这个过程,因为a)我想要解锁多年的数据和b)我想与其他人分享我的代码,并防止他们手动重复这个过程.
我的计算机上安装了WinRAR和7-zip,我可以使用任一程序轻松打开这些文件.
我环顾四周unzip
untar
和unz
命令,但我不相信他们中的任何一个都能满足我的需求.
我对压缩一无所知,但如果它有任何区别:这些文件中的每一个只包含一个文件,它只是一个文本文件.
我非常喜欢不需要用户安装其他软件(如WinRAR或7-Zip)并执行命令的解决方案shell
,尽管我承认只有R和CRAN软件包可能无法执行此任务.我实际上相信shell.exec
使用其他参数运行这些文件可能适用于安装了WinRAR的计算机,但同样,我希望尽可能避免安装.:)
运行下面的代码将加载我试图提取的文件 - .7z文件files.data
是需要解锁的.
# create a temporary file and temporary directory, download the file, extract the file to the temporary directory
tf <- tempfile() ; td <- tempdir()
file.path <- "ftp://ftp.ibge.gov.br/Orcamentos_Familiares/Pesquisa_de_Orcamentos_Familiares_2008_2009/Microdados/Dados.zip"
download.file( file.path , tf , mode = "wb" )
files.data <- unzip( tf , exdir = td )
# how do i unzip ANY of these .7z …
Run Code Online (Sandbox Code Playgroud) 压缩文件可以分为以下逻辑组
a.您正在处理的操作系统(*ix,Win)等
.不同类型的压缩算法(即.zip,.Z,.bz2,.rar,.gzip).至少来自大多数使用压缩文件的标准列表.
C.然后我们有tar球机制 - 我认为没有压缩.但它更像是连接.
现在,如果我们开始解决上面的压缩文件集,
a.选项(a)将由python处理,因为它是与平台无关的语言.
湾 选项(b)和(c)似乎有问题.
我需要什么
如何识别文件类型(压缩类型)然后对它们进行UN压缩?
喜欢:
fileType = getFileType(fileName)
switch(fileType):
case .rar: unrar....
case .zip: unzip....
etc
Run Code Online (Sandbox Code Playgroud)
所以基本问题是我们如何根据文件识别压缩算法(假设没有提供扩展或不正确)?在python中有没有特定的方法呢?
是否有一个很好的java API来操作有人可以推荐的RAR存档文件?谷歌搜索没有出现任何令人信服的说服力.
我有一些我正在使用的zip和rar文件,我正在尝试分析每个文件的压缩属性(压缩级别,压缩算法(例如deflate,LZMA,BZip2),字典大小,字大小)等等),我还没有找到办法做到这一点.
有没有办法分析文件来确定这些属性,软件或其他?
干杯谢谢!
在尝试提取zip文件时,我收到错误:
c:\ path \name.zip不是RAR存档
没有要提取的文件
我的代码是:
p.StartInfo.FileName = @"C:\Program Files\WinRAR\rar.exe";
p.StartInfo.Arguments = string.Format("x -o- {2} \"{0}\" * \"{1}\"\\ ",
szFN,
outFolder,
passWord == null ? "" : string.Format("-p\"{0}\"", passWord));
Run Code Online (Sandbox Code Playgroud)
GUI版本可以提取zip和7z文件.
为什么这不起作用?如何提取zip和7z文件?
(注意:我有7zip的不同源代码.我想我可以合并这两个,只有当文件有rar扩展时才使用上面的.但我不喜欢那个解决方案.)
我想知道有没有办法只下载.rar或.zip文件的一部分而不下载整个文件?有一个包含文件A,B,C和D的zip文件.我只需要A.我可以以某种方式调整下载以仅下载A或者如果可能的话,在服务器本身中提取文件并仅获取A?
我正在寻找可用于解压缩RAR文件的算法的描述.我不需要创建新的存档,只需解压缩现有存档.
Wotsit.org具有RAR 文件格式(版本2)的描述,但描述没有描述解压缩算法.
此外,是否有人知道RAR版本3是否对文件格式本身引入了任何重大更改?
我正在寻找一种方法来解压缩.rar
使用Java的文件,我在哪里搜索我最终使用相同的工具 - JavaUnRar
.我一直在寻找解压缩.rar
文件,但我似乎发现这样做的所有方式都很长很尴尬,就像在这个例子中
我目前能够提取.tar
,.tar.gz
,.zip
和.jar
文件在20行代码或更少所以要有提取一个简单的方法.rar
的文件,没有任何人知道?
如果它帮助任何人这是我用来提取.zip
和.jar
文件的代码,它适用于两者
public void getZipFiles(String zipFile, String destFolder) throws IOException {
BufferedOutputStream dest = null;
ZipInputStream zis = new ZipInputStream(
new BufferedInputStream(
new FileInputStream(zipFile)));
ZipEntry entry;
while (( entry = zis.getNextEntry() ) != null) {
System.out.println( "Extracting: " + entry.getName() );
int count;
byte data[] = new byte[BUFFER];
if (entry.isDirectory()) {
new File( destFolder + "/" + …
Run Code Online (Sandbox Code Playgroud) 我有一个压缩文件 .rar .7z、.tar 和 .zip,我想重命名上面使用 C# 存档的压缩文件中可用的物理文件名。
我已经使用一个sharpcompress 库尝试过这个,但是我在.rar .7z、.tar 和.zip 文件中找不到这样的重命名文件或文件夹名称的功能。
我也尝试过使用 DotNetZip 库,但它唯一的支持。 Zip 看看我使用 DotNetZip 库尝试过什么。
private static void RenameZipEntries(string file)
{
try
{
int renameCount = 0;
using (ZipFile zip2 = ZipFile.Read(file))
{
foreach (ZipEntry e in zip2.ToList())
{
if (!e.IsDirectory)
{
if (e.FileName.EndsWith(".txt"))
{
var newname = e.FileName.Split('.')[0] + "_new." + e.FileName.Split('.')[1];
e.FileName = newname;
e.Comment = "renamed";
zip2.Save();
renameCount++;
}
}
}
zip2.Comment = String.Format("This archive has been modified. {0} files have been renamed.", …
Run Code Online (Sandbox Code Playgroud)