Tag: PHP的

为什么方法和属性的可见度很重要?

为什么不能让所有的方法和属性都可以从任何地方访问? 如果我宣称属性是public你能给我一个我可以遇到的问题的例子吗?

在PHP中编写/绘制PDF模板文档

我希望能够使用PHP在现有的PDF文档上编写/覆盖文本。 我希望能做的是有一个PDF文件,可以作为一个模板,并通过打开模板文件,覆盖相关的文本,并将结果作为一个新的文件填补空白。 模板文档是单个页面,因此页面合并/操作不是必需的。 有没有免费的图书馆可以做到这一点? 我应该看的任何地方? 我所做的大部分search似乎都是处理合并文档/添加页面,而不是覆盖现有页面上的内容。 谢谢。 *编辑:这是我做的:1.下载FPDF 2.下载FPDI + FPDF_TPL从 http://www.setasign.de/products/pdf-php-solutions/fpdi/downloads/ 以下是未来stream浪者的一些示例代码(摘自www.setasign.de的样本): <?php include('fpdf.php'); include('fpdi.php'); // initiate FPDI $pdf =& new FPDI(); // add a page $pdf->AddPage(); // set the sourcefile $pdf->setSourceFile('templatedoc.pdf'); // import page 1 $tplIdx = $pdf->importPage(1); // use the imported page as the template $pdf->useTemplate($tplIdx, 0, 0); // now write some […]

DOMparsing器,允许使用HTML5风格的</ in <script>标记

更新 : html5lib (问题的底部)似乎接近,我只需要提高我的理解如何使用。 我正在尝试为PHP 5.3find一个兼容HTML5的DOMparsing器。 特别是,我需要在脚本标记中访问以下类似HTML的CDATA: <script type="text/x-jquery-tmpl" id="foo"> <table><tr><td>${name}</td></tr></table> </script> 大多数parsing器会提前parsing,因为HTML 4.01在<script>标签内findETAGO( </ )时会结束脚本标签parsing 。 但是,HTML5 允许在</script>之前。 到目前为止我所尝试过的所有parsing器都没有成功,或者它们的logging太差,以至于我没有弄清楚它们是否工作。 我的要求: 真正的parsing器,而不是正则expression式黑客。 能够加载完整页面或HTML片段。 能够拉出脚本内容 ,通过标签的id属性进行select。 input: <script id="foo"><td>bar</td></script> 输出失败的示例(不结束</td> ): <script id="foo"><td>bar</script> 一些parsing器及其结果: DOMDocument (失败) 资源: <?php header('Content-type: text/plain'); $d = new DOMDocument; $d->loadHTML('<script id="foo"><td>bar</td></script>'); echo $d->saveHTML(); 输出: Warning: DOMDocument::loadHTML(): Unexpected end tag : td […]

PHP线程安全吗?

PHP(从5.2开始)在Linux / UNIX上是线程安全的吗? 是否有可能与Apache Worker-MPM或Event-MPM一起使用? 我到目前为止收集的事实是不确定的: 包含在大多数发行版中的默认二进制文件都禁用了ZTS,所以我知道,我必须重新编译它们。 理论上讲,启用了ZTS的Zend Engine(核心PHP)是线程安全的。 据说有些模块可能不是线程安全的,但是我还没有find任何模块的列表。 PHP常见问题解答状态几乎与上面相同。 你有什么经验? 这不仅是关于分段错误 (Windows命名中的“访问违规”)。 线程安全还有很多。

PHP传递variables来包含

我试图将一个variables传递给包含文件。 我的主机改变了PHP版本,现在无论我尝试什么解决scheme都不起作用。 我想我已经尝试了所有可以find的选项。 我相信这是最简单的事情! variables需要从调用的第一个文件中设置和计算(实际上是$_SERVER['PHP_SELF'] ,并且需要返回该文件的path,而不是包含的second.php )。 选项一 在第一个文件中: global $variable; $variable = "apple"; include('second.php'); 在第二个文件中: echo $variable; scheme二 在第一个文件中: function passvariable(){ $variable = "apple"; return $variable; } passvariable(); scheme三 $variable = "apple"; include "myfile.php?var=$variable"; // and I tried with http: and full site address too. $variable = $_GET["var"] echo $variable 这些都不适合我。 PHP版本是5.2.16。 我错过了什么? 谢谢!

php.ini改变,但在Ubuntu的无效

我想改变php上传文件大小的限制 这是我的phpinfo的一些信息。 Configuration File (php.ini) Path /etc/php5/apache2 Loaded Configuration File /etc/php5/apache2/php.ini 这是我的php.ini文件的内容: upload_max_filesize = 50M post_max_size = 50M memory_limit = 128M 然后我重新启动apache2,但phpinfo显示也是: upload_max_filesize 2M

PHP联合数组是否被sorting?

我来自python背景和类似的(一个字典)python数据types是一个无序的键值对。 我想知道如果PHP关联数组是无序的? 他们似乎被责令。 $test = array( 'test' => 'test', 'bar' => 'bar', ); var_dump($test); var_dump(array_slice($test, 0, 1)); testing总是在酒吧之前,我可以切片这个数组,如你所见。 那么这是否总是保证在PHP版本中定购? 订单只是我已经声明的数组的顺序? 所以有些东西在内部指向“testing”,将数组放在[0]中? 我已经阅读了http://php.net/manual/en/language.types.array.php,但是在这个问题上并没有太多的提示。 我感谢你的回应。 泰

将phpinfo()暴露给最终用户会出现什么样的安全问题?

如果向最终用户显示phpinfo()转储,那么恶意用户可以利用这些信息来处理最糟糕的情况? 什么领域是最不安全的? 也就是说,如果你的phpinfo()是公开展示的,那么你应该在哪里观看/关注恶意漏洞?

foreach保证迭代在PHP中的数组顺序?

当一个数组传递给foreach ,输出顺序保证与input相同? 我知道在某些语言中,输出顺序不能保证,因为每个元素都被同时处理。 例如,我传递一个有序数组来foreach写入一个文件。 我想确保数组将被sorting在输出文件中。

有没有办法在Zend Framework 1.5中执行“INSERT … ON DUPLICATE KEY UDPATE”?

我想在Zend Framework 1.5中使用ON DUPLICATE KEY UPDATE ,这可能吗? 例 INSERT INTO sometable (…) VALUES (…) ON DUPLICATE KEY UPDATE …