小编Ant*_*ony的帖子

463
推荐指数
18
解决办法
36万
查看次数

从页面禁用浏览器打印选项(页眉,页脚,边距)?

我已经在SO和其他几个网站上以几种不同的方式看到了这个问题,但其中大部分都是过于具体或过时的.我希望有人可以在这里提供一个明确的答案,而不必接受猜测.

有人用CSS或javascript来改变默认打印机设置,当有人在浏览器中打印时?当然,"来自浏览器的打印"是指某种形式的HTML,而不是PDF或其他一些插件依赖的mime类型.

请注意:

如果某些浏览器提供此功能而其他浏览器不支持(或者如果您只知道如何为某些浏览器执行此操作),我欢迎特定于浏览器的解决方案.

同样,如果您知道主流浏览器对EVER有特定限制,这也很有帮助,但一些相当最新的文档将不胜感激.(简单地说"违背XYZ的安全政策"并不是很有说服力,因为XYZ在过去三年中对所述政策做出了重大改变).

最后,当我说"更改默认打印设置"时,我并不是永远,只是为了我的页面,我指的是打印页边距,页眉和页脚.

我非常清楚CSS提供了更改页面方向和页边距的选项.Firefox的许多难题之一.如果我将页边距设置为1英寸,则将其加到已经放置的半英寸处.

我非常希望减少客户网站上PDF的使用,但是主要关注的是展示的侵权(以及缺乏可靠性).

html javascript css browser printing

179
推荐指数
5
解决办法
23万
查看次数

从Mac OS Lion上的命令行启动MySQL服务器

我为我的Mac安装了mySQL.除了使用系统首选项中安装的mySQL.prefPane工具启动SQL服务器之外,我想知道从命令行启动的指令.我这样做:

苏根

我通过命令行启动mySQL服务器,它产生如下错误:

sh-3.2#/usr/local/mysql/bin/mysqld

111028 16:57:43 [警告]设置lower_case_table_names = 2,因为/usr/local/mysql-5.5.17-osx10.6-x86_64/data/的文件系统不区分大小写

111028 16:57:43 [ERROR]致命错误:请阅读本手册的"安全性"部分,了解如何以root身份运行mysqld!

111028 16:57:43 [错误]中止

111028 16:57:43 [注意]/usr/local/mysql/bin/mysqld:关闭完成

请帮我!

编辑:

原因在于:http://dev.mysql.com/doc/refman/5.5/en/changing-mysql-user.html

下面的xdazz答案中描述了一个解决方案.

mysql macos command-line osx-lion

159
推荐指数
11
解决办法
36万
查看次数

jquery选择除最后一组之外的所有元素

我有一张表看起来像:

<table>
   <tr>
      <td>one</td><td>two</td><td>three</td><td>last</td>
   </tr>
   <tr>
      <td>blue</td><td>red</td><td>green</td><td>last</td>
   </tr>
   <tr>
      <td>Monday</td><td>Tuesday</td><td>Wednesday</td><td>last</td>
   </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我想要的是一个jquery选择器,它将选择除td每个表行的最后一个之外的所有表.我试过了:

$("tr td:not(:last)").css("background-color","red");
  //changing color just as a test...
Run Code Online (Sandbox Code Playgroud)

但是,不是所有单元格而是每行的最后一个单元格都被更改,所有单元格,但是表格中的最后一个单元格都被选中.同样,如果我将其更改为:

$("tr td:last").css("background-color","red");
Run Code Online (Sandbox Code Playgroud)

唯一改变的是最后一个细胞.如何选择每行的最后一个(或不是最后一个)?

jquery jquery-selectors

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

使用PHP连接到受WS-Security保护的Web服务

我正在尝试连接到受密码保护且网址为https的Web服务.在脚本发出请求之前,我无法弄清楚如何进行身份验证.它似乎在我定义服务时立即发出请求.例如,如果我投入:

$client = new SoapClient("https://example.com/WSDL/nameofservice",
       array('trace' => 1,)
);
Run Code Online (Sandbox Code Playgroud)

然后在浏览器上访问该站点,我得到:

Fatal error: Uncaught SoapFault exception: 
[WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from
'https://example.com/WSDL/nameofservice' in /path/to/my/script/myscript.php:2 
Stack trace: #0 /path/to/my/script/myscript.php(2): 
SoapClient->SoapClient('https://example...', Array) #1 {main} thrown in 
/path/to/my/script/myscript.php on line 2
Run Code Online (Sandbox Code Playgroud)

如果我尝试将服务定义为Soap服务器,例如:

$server= new SoapServer("https://example.com/WSDL/nameofservice");
Run Code Online (Sandbox Code Playgroud)

我明白了:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>WSDL</faultcode>
<faultstring>
SOAP-ERROR: Parsing WSDL: 
Couldn't load from 'https://example.com/WSDL/nameofservice'
</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud)

我还没有尝试发送原始请求信封,看看服务器返回什么,但这可能是一种解决方法.但是我希望有人可以告诉我如何使用php内置类来设置它.我尝试将"userName"和"password"添加到数组中,但这并不好.问题是我甚至无法判断我是否到达了远程站点,更不用说它是否拒绝了请求.

php ws-security soap web-services

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

如何将变量作为stdin从PHP传递到命令行

我正在尝试编写一个PHP脚本,该脚本使用pdftk应用程序将XFDF与PDF表单合并,并将合并的PDF输出给用户.根据pdftk文档,我可以在via中传递表单数据stdin并将PDF输出到stdout流中.从命令行使用pdftk的常规文件非流方式是:

pdftk blankform.pdf fill_form formdata.xfdf output filledform.pdf
Run Code Online (Sandbox Code Playgroud)

要在命令行上使用流,您需要输入:

pdftk blankform.pdf fill_form - output -
Run Code Online (Sandbox Code Playgroud)

我有几个问题:

1)我已经通过stdout使用xfdf文件(而不是stdin)来获得pdftk返回输出,如下所示:

    exec("pdftk blankform.pdf fill_form formdata.xfdf output -", $pdf_output);
    file_put_contents("filledform.pdf",$pdf_output);
Run Code Online (Sandbox Code Playgroud)

但是根据Adobe Reader的说法,它创建的pdf是破坏的,并且用文本编辑器快速查看文件显示,至少,它并没有将行结束设置在应有的位置.我有一个相同的PDF由pdftk创建,它输出到一个文件,pdf在文本编辑器中看起来很好,所以我知道它不是pdftk输出坏数据.

2)我不能为我的生活弄清楚如何stdin在PHP中设置流,以便我可以使用该流作为我的pdftk输入.从我在PHP文档中阅读的内容来看,它stdin是只读的,那么如何进入该流?

理想情况下,我想保持这个非常简单并避免使用proc_open().我尝试使用该功能并且不是非常成功,这可能是我的错,而不是功能,但实际上我的目标很简单,我宁愿避免使用我不需要的强大功能.

理想情况下,我的代码看起来像:

 $form_data_raw = $_POST;
 $form_data_xfdf = raw2xfdf($form_data_raw); //some function that turns HTML-form data to XFDF

 $blank_pdf_form = "blankform.pdf";

 header('Content-type: application/pdf');
 header('Content-Disposition: attachment; filename="output.pdf"');

 passthru("pdftk $blank_pdf_form fill_form $form_data_xfdf output -);
Run Code Online (Sandbox Code Playgroud)

只是抬头,可以将实际的xml字符串放在命令行中,但是我的结果非常不可靠.

编辑

在很多帮助下,我现在明白我的真正问题是"如何在PHP中将变量传递给命令行执行".显然,proc_open是最好的方式,或者至少是最直接的方式.因为我花了很长时间才弄清楚,因为我对Google的研究表明其他人可能会苦苦挣扎,我会发布专门针对我的问题的代码:

$blank_pdf_form = …
Run Code Online (Sandbox Code Playgroud)

php command-line stdin stream pdftk

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

如何在bash上修剪从标准输入读取的行?

我想要一个bash方式从标准输入读取行(所以我可以输入管道),并只删除前导和尾随空格字符.管道回声不起作用.

例如,如果输入是:

     12 s3c  
     sd wqr
Run Code Online (Sandbox Code Playgroud)

输出应该是:

12 s3c
sd wqr
Run Code Online (Sandbox Code Playgroud)

我想避免编写python脚本或类似的东西,因为这是微不足道的.任何帮助表示赞赏!

bash trim

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

是否可以在PHP中访问外部局部变量?

是否可以在PHP子函数中访问外部局部变量?

在下面的代码中,我想访问$l内部函数栏中的变量.声明$lglobal $l在酒吧不起作用.

function foo()
{
    $l = "xyz";

    function bar()
    {
        echo $l;
    }
    bar();
}
foo();
Run Code Online (Sandbox Code Playgroud)

php scope

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

AJAX重定向困境,如何获取重定向URL或如何设置重定向请求的属性

首先,我在Google Chrome中工作,如果有帮助的话.这是行为:

我通过jQuery向远程站点发送xhr请求(这是一个chrome扩展,我设置了所有的跨站点设置......):

$.ajax({
    type: "POST",
    contentType : "text/xml",
    url: some_url,
    data: some_xml,
    username: user,
    password: pass,
    success: function(data,status,xhr){
        alert(data);
    },
    error: function(xhr, status, error){
        alert(xhr.status);
    }
});
Run Code Online (Sandbox Code Playgroud)

正在设置的URL返回302(这是预期的),Chrome遵循重定向(也是预期的).

新网址会返回凭据提示,这些提示不会从原始请求中提取,因此Chrome会显示登录对话框.如果我输入原始凭据,我会收到有关发送无效请求的响应(这是一个有效的HTTP请求 - 200 - 远程服务器只是不喜欢其中一个标头).

在Chrome中查看开发者窗口时,会发送两个请求.第一个是原始URL,其中包含AJAX请求中设置的所有设置.第二个是重定向URL,方法为"GET","POST"字段中没有任何内容,也没有凭据.

我不知道我能做什么.我要么:

  1. 获取重定向网址,以便我可以发送第二个请求(xhr.getResponseHeader("Location")不起作用),

  2. 让新的重定向请求保留原始请求中的设置,或

  3. 获取错误来自的最终URL,以便我可以发送另一个请求.

理想情况下,我不希望用户必须在此对话框中第二次输入他们的凭据,但如果我能获得最终的URL,我会采取我能得到的.

ajax jquery redirect xmlhttprequest

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

如何检查字符串是否是有效的XML元素名称?

我需要PHP中的正则表达式或函数,它将验证字符串是一个很好的XML元素名称.

表格w3schools:

XML元素必须遵循以下命名规则:

  1. 名称可以包含字母,数字和其他字符
  2. 名称不能以数字或标点字符开头
  3. 名称不能以字母xml(或XML或Xml等)开头
  4. 名称不能包含空格

我可以编写一个基本的正则表达式来检查规则1,2和4,但它不会考虑所有允许的标点符号,也不会考虑第3条规则

\w[\w0-9-]
Run Code Online (Sandbox Code Playgroud)

友情更新

以下是格式良好的XML元素名称的权威来源:

名称和代币

NameStartChar   ::=
    ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] |
    [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | 
    [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | 
    [#x10000-#xEFFFF]

NameChar    ::=
    NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]

Name    ::=
    NameStartChar (NameChar)*
Run Code Online (Sandbox Code Playgroud)

还指定了单独的非标记化规则:

以字符串"xml"开头的名称,或者与任何匹配的字符串(('X'|'x')('M'|'m')('L'|'l'))的名称保留用于标准化在本规范的此版本或未来版本中.

php regex xml

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