问题列表 - 第12665页

如何[递归]在PHP中压缩目录?

目录是这样的:

home/
    file1.html
    file2.html
Another_Dir/
    file8.html
    Sub_Dir/
        file19.html
Run Code Online (Sandbox Code Playgroud)

我使用PHPMyAdmin中使用的相同PHP Zip类http://trac.seagullproject.org/browser/branches/0.6-bugfix/lib/other/Zip.php.我不确定如何压缩目录而不仅仅是文件.这是我到目前为止所拥有的:

$aFiles = $this->da->getDirTree($target);
/* $aFiles is something like, path => filetime
Array
(
    [home] => 
    [home/file1.html] => 1251280379
    [home/file2.html] => 1251280377
    etc...
)

*/
$zip = & new Zip();
foreach( $aFiles as $fileLocation => $time ){
    $file = $target . "/" . $fileLocation;
    if ( is_file($file) ){
        $buffer = file_get_contents($file);
        $zip->addFile($buffer, $fileLocation);
    }
}
THEN_SOME_PHP_CLASS::toDownloadData($zip); // this bit works ok
Run Code Online (Sandbox Code Playgroud)

但是当我尝试解压缩相应的下载zip文件时,我得到"不允许操作"

这个错误只发生在我尝试解压缩我的mac时,当我通过命令行解压缩文件解压缩时.我是否需要在下载时发送特定的内容类型,目前为'application/zip'

php directory recursion zip directory-structure

117
推荐指数
3
解决办法
10万
查看次数

亚音速聚合约束("有")

如果有任何方法可以为聚合选择添加"拥有"约束,我想不 示例:如果我需要按日期销售总额> 1000的所有销售额.

最诚挚的问候,TheGodfather

subsonic

3
推荐指数
1
解决办法
393
查看次数

签署.NET程序集

数字签名与强命名程序集有什么关系.我读到一个强名称的程序集有公钥和数字签名.

来自维基百科文章"Assembly(CLI)":

"签署程序集涉及对程序集的重要部分进行散列,然后使用私钥加密散列.签名的散列与公钥一起存储在程序集中.公钥将解密签名的散列.当CLR加载一个强命名的程序集,它将从程序集生成一个哈希值,然后将其与解密的哈希值进行比较.如果比较成功,则表示文件中的公钥(以及公钥标记)与私钥相关联用于签署程序集.这意味着程序集中的公钥是程序集发布者的公钥,因此欺骗攻击被挫败."

以上信息准确吗?它没有任何数字签名的参考.我找不到MSDN页面,解释如何签署程序集,如何验证签名以及如何消除黑客攻击的可能性.我想更多地了解这些.

.net c# assembly-signing

24
推荐指数
1
解决办法
6340
查看次数

使用PHP解析Excel XML

介绍

我使用excel下载作为用户下载分数表,填写分数然后将此分数表重新上传到系统的方式.

部分原因是要求将数据库中的数据放入CSV中.然后它在客户端计算机上打开.

问题

我遇到的问题是CSV不允许我使用任何格式.这包括隐藏单元格,使文本粗体等.

因此,将数据解析为excel格式(xls)文档将更有意义......但是从我所听到和阅读的内容来看,这将是非常困难的,因为不同的excel版本等等.

我听说XML是一种将数据解析为excel格式的好方法.我想知道是否有人使用PHP有任何经验?

有没有人听说过的好剧本?有没有人对不同版本的excel开放有任何意见(甚至是开放式办公室或莲花之类的东西)如果我向前迈进一步,你觉得怎么样?

非常感谢您的帮助!请回复或发送电子邮件给我坦率的天空点com

php xml csv excel parsing

6
推荐指数
1
解决办法
5444
查看次数

如何从使用属性修饰的C#类生成.proto文件?

试图让我的思绪围绕谷歌protobuf.我在C#中发现了一些protobuf的实现,但它们似乎缺少一个功能:能够从使用属性修饰的现有C#类自动生成.proto文件.

我想这样做而不是从.proto文件中自动生成的C#类的原因是因为我已经在我的项目中定义了C#类,我不想复制它们只是为了满足ProtoBuf.

有没有人遇到过这种情况?


更新

这可能只是装饰一个C#类而不是使用.proto文件来使用protobuf吗?

.net c# serialization protocol-buffers protobuf-net

26
推荐指数
2
解决办法
1万
查看次数

将JavaScript对象合二为一

我有一个名为"Colorbox"(jQuery插件)的函数,它接受了许多参数,如下所示:

$(this).colorbox({
    width : "500px",
    height : "500px"
});
Run Code Online (Sandbox Code Playgroud)

不过,我有几种不同类型的"this",每种都有自己的属性.像这样:

var Type = {
  video: {
    width : "500px",
    height : "500px"
  },
  gallery: {
    width : "1065px",
    height : "600px"
  }
}
Run Code Online (Sandbox Code Playgroud)

除此之外,我还有其他行为,逻辑和"默认"设置组(被更具体的设置覆盖).我要做的是将所有适当的设置从多个对象推送到一个Object中,这样我就可以调用:

$(this).colorbox(Settings);
Run Code Online (Sandbox Code Playgroud)

如何将未知的属性组及其值(例如"width"和"height")从Type.video转移到Settings?目标是能够调用Settings.height并获取我推送的值.

javascript jquery

43
推荐指数
4
解决办法
6万
查看次数

将 C# 引用类型克隆为派生引用类型

由于具有 C++ 背景,我发现 C# 中的对象克隆有点难以适应。为了消除我的一些困惑,我正在寻找一种优雅的方法将基类型的对象克隆为派生类型。

为了显示:

public class Base
{
    public string Member1;
    public int Member2;
    public float Member3;
    public bool Member4;
}

public class Derived : Base
{
    public List<Base> Children;
}

Base base = new Base();
Run Code Online (Sandbox Code Playgroud)

这样,我想创建一个“派生”实例,同时执行基本对象的成员副本 - 最好不要手动分配它们。

注意:也许这更适合值类型?

c# clone reference-type

5
推荐指数
1
解决办法
1951
查看次数

SQLite Int64与Int32问题和SubSonic ActiveRecord

我认为这在其他地方有所涉及,但我现在还没有看到.无论如何,有一个简单的v3查询的问题.使用SQLite ADO.NET提供程序1.0.65.0.我的表结构如下所示:

CREATE TABLE "SamplerData" ("RowId" INT PRIMARY KEY  NOT NULL ,"SampName" VARCHAR(128),"SampPurpose" VARCHAR(2048),"ActiveState" INTEGER NOT NULL  DEFAULT 1 )
Run Code Online (Sandbox Code Playgroud)

我的Structs1.cs文件中有这个:

        Columns.Add(new DatabaseColumn("RowId", this)
        {
                IsPrimaryKey = true,
                DataType = DbType.Int32,
                IsNullable = false,
                AutoIncrement = false,
                IsForeignKey = false
        });

        Columns.Add(new DatabaseColumn("SampName", this)
        {
                IsPrimaryKey = false,
                DataType = DbType.AnsiString,
                IsNullable = true,
                AutoIncrement = false,
                IsForeignKey = false
        });

        Columns.Add(new DatabaseColumn("SampPurpose", this)
        {
                IsPrimaryKey = false,
                DataType = DbType.AnsiString,
                IsNullable = true,
                AutoIncrement = false,
                IsForeignKey = false …
Run Code Online (Sandbox Code Playgroud)

sqlite subsonic activerecord subsonic3

3
推荐指数
1
解决办法
2944
查看次数

jQuery - 如何在前一个语句完成后才能执行语句?

例如,我在$ .ajax函数中使用beforeSend选项.在下面的代码示例中,.html函数将在之前的语句中发生淡出时执行.我怎么能阻止这种行为?

 jQuery("#container").fadeOut("slow", function() {
     jQuery("#container").removeClass('error');
 });

 jQuery("#container").html("success").fadeIn("slow");
Run Code Online (Sandbox Code Playgroud)

所以会发生的是,淡出期间,jquery将注入html"成功".我希望它在动画完成后发生.

我该怎么办呢?

谢谢!

jquery

0
推荐指数
1
解决办法
2066
查看次数

Graphviz:打破平面但稀疏地将图形连接成多行?

如何将平坦但稀疏连接的graphviz图分成多行?

Graphviz产生大约4个等级的图表,但是超过9000个节点宽度.然而,由于图形稀疏连接,我们可以将其分成行,例如每1000个节点,从而使其适合一页九行.如何才能做到这一点?

不是寻找不平坦的东西,而是寻找文本编辑器中的换行符(我明白要找什么?).

编辑: 带有示例图的PDF

graph graphviz

8
推荐指数
1
解决办法
5473
查看次数