小编Sta*_*rds的帖子

如何在PHP项目中找到未使用的函数

如何在PHP项目中找到任何未使用的函数?

是否有功能或API内置到PHP,让我分析我的代码库-例如反射,token_get_all()

这些API功能是否足够丰富,我不必依赖第三方工具来执行此类分析?

php

58
推荐指数
5
解决办法
2万
查看次数

如何从包含多个项目的SVN存储库中转储一个项目?

我正在使用包含许多项目的SVN存储库.我需要将一些项目从该存储库移到单独的存储库中,每个项目一个,保留历史记录.

我已经能够使用svnadmin dump将整个存储库转储svnadmin load到另一个存储库中,但是我找不到从原始存储库中只转储一个项目的方法,因此我可以将其加载到新的存储库中.这可能吗?如果是这样的话?

svn svndumpfilter svnadmin svndump

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

计算具有最少量的切割废料的切割清单

我正在开展一个项目,在那里我生产铝挤压切割清单.

铝挤压件的长度为5米.

我有一个较小长度的列表需要从5米长的铝挤压切割.

需要按照从5米长的铝挤压产生最少量的切割废料的顺序切割较小的长度.

目前,我以这样的方式订购切割清单,即通常最小的长度首先被切割,最小的长度最后切割.这个规则的例外是,如果较短的长度不适合5米长的铝挤压件的剩余长度,我使用最长的较短的长度.

这似乎产生了非常有效(非常少的切割废料)切割清单,并且不需要很长时间来计算.我想象,但是,即使在切割清单非常有效,但不一定是有效的.

有谁知道一种计算最有效切割清单的方法,可以在合理的时间内计算出来?

编辑:谢谢你的答案,我将继续使用"贪婪"的方法,因为它似乎做得非常好(完成任何人类尝试创建一个有效的切割清单),并且非常快.

algorithm

18
推荐指数
2
解决办法
4万
查看次数

Zend Studio报告警告:条件分配.这真糟糕吗?

我最近开始使用Zend Studio,它报告了以下类型的代码:

$q = query("select * from some_table where some_condition");
while ($f = fetch($q)) {
  // some inner workings
}
Run Code Online (Sandbox Code Playgroud)

要停止警告,代码需要像这样写:

$q = query("select * from some_table where some_condition");
$f = fetch($q);
while ($f) {
  // some inner workings
  $f = fetch($q);
}
Run Code Online (Sandbox Code Playgroud)

为什么这被标记为警告?这么糟糕吗?

我知道警告可能旨在阻止这样的错误:

$a = 1;
while ($a = 1) {
  // some inner workings
  $a++;
}
Run Code Online (Sandbox Code Playgroud)

永远不会终止,因为1被分配给$ a,而$ a又返回1到while语句,而不是针对$ a进行测试,并且当$ a不是1时,将false返回到while语句.

容易出错的错误可以验证警告,但是在第二个例子中忘记在while块的末尾添加额外的$ f = fetch($ q),这也会导致永远不会终止的循环.如果我更改我的代码以删除警告,然后忘记在while块的末尾添加$ f = fetch($ q),Zend将不会发出警告!

因此,通过删除有关常见错误的警告,我正在为自己设置一个不同的常见错误.

走出锅,进入火中.

warnings zend-framework variable-assignment while-loop conditional-statements

9
推荐指数
3
解决办法
9252
查看次数

使用CSS创建特定宽度的表格单元格,没有自动换行

在一个涉及的项目中,我需要使用特定宽度的列来呈现表,每个表行只有一行HTML行(没有换行).我需要每个表格单元格在顶部和底部填充1个像素,在左侧和右侧填充2个像素.我能想出的跨浏览器的最佳方法是以这种方式将div放在表内的td中:

<style>
  table.grid { border: none; border-collapse: collapse; }
  table.grid tbody tr td { padding: 1px 2px; }
  table.grid tbody tr td div { overflow: hidden; white-space: nowrap; }
  table.grid tbody tr td.one { width: 100px; }
  table.grid tbody tr td.two { width: 200px; }
</style>
<table class="grid">
  <tbody>
    <tr>
      <td class="one"><div>One</div></td>
      <td class="two"><div>Two</div></td>
    </tr>
    <tr>
      <td class="one"><div>Another One</div></td>
      <td class="two"><div>Another Two</div></td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我希望能够消除添加额外div的需要.我花了很多时间在谷歌搜索这个问题,但找不到替代方案.

有没有办法做我需要的东西而不需要添加额外的div?如果那么,它是什么?

有没有办法在不使用表的情况下获得所需的结果?

html css cross-browser css-tables

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

使用GTK查找工作区大小(屏幕大小减去任务栏)

如何创建一个填充整个桌面的主窗口,而不覆盖(或被任务栏覆盖)任务栏并且没有最大化?我可以找到整个屏幕尺寸并相应地设置主窗口:

window = gtk.Window()
screen = window.get_screen()
window.resize(screen.get_width(), screen.get_height())
Run Code Online (Sandbox Code Playgroud)

但窗口的底部由任务栏覆盖.

python gtk pygtk

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

安全地在浏览器中下载具有正确文件名的文件

我正在一个网站上做一些工作,该网站有一个安全区域,只有在用户登录后才能使用.在这个区域有一个页面,其中包含可以下载的pdf文档的链接.物理文档位于Web站点的根目录之外.pdf文档的链接如下所示:

的index.php?页=安全区域/下载&文件= protected.pdf

它执行以下(注:我知道这是强制进行下载,而不是打开该文件的方式的浏览器):

// check security, get filename from request, prefix document download directory and check for file existance then...

header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Connection: Close');
set_time_limit(0);
readfile($file);
Run Code Online (Sandbox Code Playgroud)

这很好用,但在Firefox 3和Internet Explorer 7(我没有使用任何其他浏览器进行测试)不会在浏览器中打开此文件,它们都显示下载对话框(如预期的那样).如果我选择"打开"而不是"保存",则会下载文档并在浏览器外部启动Adobe Reader以呈现文档.

我遇到的问题是在浏览器中下载文件并保存正确的默认文件名.

我想在浏览器中打开该文档.一种方法是使用标题"Content-Disposition:inline;" 但这意味着我无法指定文件名(因为浏览器似乎忽略了).这样做的问题是当我保存文档时,默认名称是URL的名称,而不是pdf文档的文件名:

http___example.com_index.php_page=secure_area_download&file=protected.pdf
Run Code Online (Sandbox Code Playgroud)

如何让Firefox和Internet Explorer在浏览器中打开文档并提供正确的默认文件名来保存?

browser security inline file download

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