小编Dav*_*nel的帖子

Safari添加.html下载

我有一个小函数,它创建.xls文档(使用PHPexcel),然后将其发送到php://输出.然后用户下载它.
一切正常,除了mac os x上的safari由于某种原因增加了.html扩展名.
因此,生成的文件名为report.xls.html.内容没问题,但对用户来说很烦人.

我该如何解决这个问题?

这是我的代码的一部分:

$filename = 'report.xls';

header('Content-Description: File Transfer');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="'.$filename.'"'); 
header('Content-Transfer-Encoding: binary');
header('Connection: Keep-Alive');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save('php://output');
Run Code Online (Sandbox Code Playgroud)

php safari xls download

13
推荐指数
1
解决办法
9516
查看次数

.htaccess将root重定向到index.php

我需要重定向http://example.com/http://example.com/index.php.

apache .htaccess mod-rewrite root

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

C++浮点精度

可能重复:
浮点不准确示例

double a = 0.3;
std::cout.precision(20);
std::cout << a << std::endl;
Run Code Online (Sandbox Code Playgroud)

结果:0.2999999999999999889

double a, b;
a = 0.3;
b = 0;
for (char i = 1; i <= 50; i++) {
  b = b + a;
};
std::cout.precision(20);
std::cout << b << std::endl;
Run Code Online (Sandbox Code Playgroud)

结果:15.000000000000014211

所以..'a'比它应该小.但是,如果我们采取'a'50次 - 结果会比它应该更大.

为什么是这样?如何在这种情况下得到正确的结果?

c c++ floating-point precision floating-accuracy

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

bat函数用于在文件夹和子文件夹中查找文件并对其执行某些操作.

我需要在文件夹和所有子文件夹中找到具有特定文件名的所有文件(例如main.css),然后用它做一些事情(例如重命名,移动,删除,添加文本行等)

windows batch-file find batch-processing

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

检测webgl硬件加速是否开启

有没有办法检测浏览器是否使用硬件或软件渲染 webgl?

如果启用了软件渲染,我不想显示 webgl 部分(它非常慢,最好使用占位符)

目前,我正在考虑在页面加载时进行一些测试,并根据这些测试的性能设置一个标志。虽然这对我来说有点奇怪,也许有更好的方法吗?

javascript browser webgl hardware-acceleration

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

使用StructScan将PostgreSQL数组放入结构

测试数据:

CREATE TABLE test (id int, data text[])
INSERT INTO test(id, data) VALUES(1, '{a,b,c}')
Run Code Online (Sandbox Code Playgroud)

去代码。第一个-运行良好的一个:

func main() {
  db, _ := sqlx.Open("postgres", "user=postgres dbname=test sslmode=disable")
  var id int
  var asSlice []string
  err := db.QueryRowx(`SELECT id, data FROM test WHERE data @> ARRAY['b']`).Scan(&id, pq.Array(&asSlice))
  if err != nil {
    log.Fatal(err)
  }
  fmt.Println(id, asSlice)
}
Run Code Online (Sandbox Code Playgroud)

我得到1 [a b c]了预期的结果。但是这里我手动将结果分配给变量

现在,到不起作用的部分-使用StructScan

type MyStruct struct {
    Id   int
    Data []string
}

func main() {
    db, _ := sqlx.Open("postgres", "user=postgres dbname=test sslmode=disable")
    var …
Run Code Online (Sandbox Code Playgroud)

arrays postgresql go

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