Tag: PHP的

错误消息严格标准:非静态方法不应该在PHP中静态调用

我有以下的PHP。 但是,当我看到index.php我得到以下错误信息。 严格标准:非静态方法Page :: getInstanceByName()不应该在第12行的/var/www/webworks/index.php中静态调用 我希望有人能告诉我如何解决这个问题。 提前致谢。 的index.php // { common variables and functions include_once('ww.incs/common.php'); $page=isset($_REQUEST['page'])?$_REQUEST['page']:''; $id=isset($_REQUEST['id'])?(int)$_REQUEST['id']:0; … // { get current page id if(!$id){ if($page){ // load by name $r=Page::getInstanceByName($page); if($r && isset($r->id))$id=$r->id; } if(!$id){ // else load by special $special=1; if(!$page){ $r=Page::getInstanceBySpecial($special); if($r && isset($r->id))$id=$r->id; } } } // { load page data […]

file_get_contents => PHP致命错误:允许内存耗尽

处理大文件时我没有经验,所以我不知道该怎么做。 我试图用file_get_contents读取几个大文件; 任务是使用preg_replace()来清理它们。 我的代码运行良好的小文件; 但是,大文件(40 MB)触发内存耗尽错误: PHP Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 41390283 bytes) 我想使用fread(),但我不知道这也可以。 有没有解决这个问题的方法? 感谢您的input。 这是我的代码: <?php error_reporting(E_ALL); ##get find() results and remove DOS carriage returns. ##The error is thrown on the next line for large files! $myData = file_get_contents("tmp11"); $newData = str_replace("^M", "", $myData); ##cleanup […]

导出具有高质量图像的canvas的最佳做法是什么?

我需要你的帮助。 我解释我的情况:我正在使用fabric.js库在应用程序中放置形状,文本等。 我的canvas尺寸为1000×1000像素(约26.45×26.45厘米)。 我有一个图像上传脚本只能上传高质量的图像,如300 dpi。 基本上我所做的是: – 绘制canvas(上传图片,放置文本等); – 调整尺寸乘以比例因子的canvas最终能够以300dpi的图像; – 以PNG格式保存canvas; – 使用php / ajax和Imagick,把canvas以300 dpi的质量,保存在jpg格式。 问题是:当我保存canvas时,上传的图像的质量将会下降,因为我调整了canvas的大小是72 dpi(在我保存PNG的那一刻)。 我认为可能的解决scheme是:上传图片时,将位置以x和y的位置和大小保存到整个过程的最后,以JPG格式replace图片。 如果这是一个最好的方法,可以使用Imagick库或PHP? 我想知道你的意见。 谢谢。

如何通过Windows上的命令行访问PHP?

我正试图学习如何从命令行(CLI)访问PHP脚本 下面是我的一个图片,请帮忙。 我正在运行Windows 7

如何使用PHPExcel从大型Excel文件(27MB +)中读取大型工作表?

我有大量的Excel工作表,我希望能够使用PHPExcel读入MySQL。 我正在使用最近的补丁程序 ,它允许您在不打开整个文件的情况下阅读工作表。 这样,我可以一次阅读一个工作表。 但是,一个Excel文件大小是27MB。 我可以在第一张工作表中成功读取,因为它很小,但是第二张工作表太大,以至于在22:00开始处理的cron作业没有在上午8:00完成, 工作表太简单了 。 有什么方法可以逐行阅读工作表 ,例如: $inputFileType = 'Excel2007'; $inputFileName = 'big_file.xlsx'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $worksheetNames = $objReader->listWorksheetNames($inputFileName); foreach ($worksheetNames as $sheetName) { //BELOW IS "WISH CODE": foreach($row = 1; $row <=$max_rows; $row+= 100) { $dataset = $objReader->getWorksheetWithRows($row, $row+100); save_dataset_to_database($dataset); } } 附录 @mark,我用你发布的代码来创build下面的例子: function readRowsFromWorksheet() { $file_name = htmlentities($_POST['file_name']); $file_type […]

PHP会话太快

我在我的网站上使用php会话,似乎他们随机间隔“消失”。 我不知道是否由于不活动而导致超时,或者如果我的代码有问题,但有什么方法来控制它们何时到期的会话? 就像我可以把东西放在我的代码或改变php.ini文件中的东西? 更新 –只是在这里更新,我切换主机,神奇的会议开始工作。 我不知道什么是错的,但显然他们不想正常工作。

没有声明HTML文档的字符编码

当我点击我的表单的提交button时出现以下错误信息: “HTML文档的字符编码没有被声明,如果文档包含US-ASCII范围以外的字符,文档将在一些浏览器configuration中以乱码显示,页面的字符编码必须在文档中声明,或者在传输协议中“。 insert.html: <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>insert page</title></head> <body> <h1> Insert Page </h1> <form action="insert.php" method="post" enctype="application/x-www-form-urlencoded" > <p>Title:<input type="text" name="title" size="40"/></p> <p>Price:<input type= "text" name="price" size="40" /></p> <p><input type="submit" value="Insert" /> <input type="reset" value="Reset" /></p> </form> </body> </html> insert.php: <?php $title = […]

如何访问godaddy共享主机linux中的php.ini文件

我有一个网站,并在我的本地主机上运行良好。 我上传了我的godaddy主机后,我的网站有一个错误。 结论是,我必须改变php.ini文件的memory_limit,但不能在FTPpipe理器上findphp.ini。 我曾试图: find更改分类FTPpipe理器的方式。 从本地创build/上传php.ini文件,不工作。 我的问题是:我如何解决这个问题? 我必须更改php.ini文件。 有没有人有像我这样的经验?

扩展mysqli丢失,phpmyadmin不起作用

我在ubuntu 12.04上遇到了phpmyadmin的问题。 我已经安装了apache2,php5,mysql和phpmyadmin。 phpinfo(); 脚本,不要显示任何关于mysqli或mysql扩展名。 当我尝试启动phpmyadmin这个错误出现: —- ** phpMyAdmin – 错误** ——- ** mysqli扩展名缺失。 请检查您的PHPconfiguration。 —- 在php.ini文件中,我取消了extension=mysql.so行,但不起作用… 任何人有另一个可行的解决scheme

已经启动的PHP会话

在我的PHP代码中,如果一个会话已经开始了,我试着开始一个新的会话,我得到以下的通知: 注意:会话已经开始 – 忽略session_start() 我怎样才能避免这一点?