Questions tagged «php»

PHP是一种广泛使用的高级动态,面向对象和解释性脚本语言,主要用于服务器端Web开发。用于有关PHP语言的问题。

8
PHP-将文件移至服务器上的其他文件夹
如果他们不再需要我的网站上的用户,则需要在他们上载图像后将其从服务器上删除。我以前unlink在PHP中使用该函数,但此后被告知这可能具有很大的风险和安全性问题。(下面的先前代码:) if(unlink($path.'image1.jpg')){ // deleted } 相反,我现在只想将文件移动到另一个文件夹中。他们必须先上传文件很长时间,然后才能登录帐户。如果我有存储用户图像的主文件夹: user/ 然后在其中一个名为del的文件夹中放置不需要的图像: user/del/ 是否有命令将文件移动到其他文件夹?这样说: user/image1.jpg 移至/成为 user/del/image1.jpg
180 php  directory  move  unlink 

13
如何使用Guzzle以JSON发送POST请求?
有人知道post使用JSON 的正确方法Guzzle吗? $request = $this->client->post(self::URL_REGISTER,array( 'content-type' => 'application/json' ),array(json_encode($_POST))); 我internal server error从服务器收到响应。它可以使用Chrome浏览器Postman。
180 php  postman  guzzle 

11
如何在单个网页上连接到多个MySQL数据库?
我的信息分散在几个数据库中,并希望使用PHP将所有信息放到一个网页上。我想知道如何在单个PHP网页上连接到多个数据库。 我知道如何使用以下方法连接到单个数据库: $dbh = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL"); 但是,我可以使用多个“ mysql_connect”命令打开其他数据库吗?如果我确实连接了多个数据库,PHP将如何知道我要从哪个数据库中提取信息?
179 php  mysql 

19
已缓存,PHP生成的缩略图加载缓慢
问题A部分 ▉(获得100个赏金,获得奖励) 主要问题是如何使此网站加载速度更快。首先,我们需要阅读这些瀑布。感谢所有关于瀑布读数分析的建议。从这里显示的各种瀑布图可以看出,主要瓶颈是:PHP生成的缩略图。David建议从CDN进行无协议的jquery加载,这虽然使我的网站总体速度提高了3%,却没有解决该网站的主要瓶颈,却使我受益匪浅。是时候澄清我的问题了,另一个奖励是: 问题B部分 ▉(获得100个赏金,已获得奖励) 现在,新的重点是解决6个jpg图像所具有的问题,这些问题造成了大部分加载延迟。这6张图像是PHP生成的缩略图,很小,只有3〜5 kb,但是加载速度非常慢。注意各个图表上的“ 到第一个字节的时间 ”。问题仍然没有解决,但是James赏心悦纳,他修复了RedBot 强调的标头错误:“ If-Modified-Since条件请求返回了完整的内容。” 。 问题 C▉ (我最后的赏金:250分)不幸的是,即使修复了REdbot.org标头错误,由PHP生成的图像引起的延迟仍然没有改变。这些微小的3〜5Kb缩略图到底在想什么?所有这些标头信息都可以将火箭送上月球并返回。非常感谢您对此瓶颈的任何建议并将其视为可能的答案,因为我已经在这个瓶颈问题上停留了七个月了。提前谢谢 [我网站上的一些背景信息:CSS位于顶部。底部的JS(Jquery,JQuery UI,购买的菜单awm / menu.js引擎,tabs js引擎,视频swfobject.js)。第二幅图像上的黑线表示启动加载内容的内容。生气的机器人是我的宠物“ ZAM”。他无害,而且常常更快乐。] 载入瀑布:按时间顺序 | http://webpagetest.org 并行域分组 | http://webpagetest.org Site-Perf瀑布 | http://site-perf.com Pingdom工具瀑布 | http://tools.pingdom.com GTmetrix瀑布 | http://gtmetrix.com

19
致命错误:找不到类“ ZipArchive”
我有一个问题,我在Linux服务器上安装了“ Archive_Zip 0.1.1”,但是当我尝试运行脚本来创建zip文件时,却出现了致命错误 致命错误:ZipArchive在...中找不到类 我把代码放在哪里 $zip = new ZipArchive; var_dump($zip); $res = $zip->open($filename, ZipArchive::OVERWRITE); if ($res !== TRUE) { echo 'Error: Unable to create zip file'; exit; } if (is_file($src)) { $zip->addFile($src); } else { // echo "<br>" . dirname(__FILE__) . $src;//'/install1'; if (!is_dir($src)) { $zip->close(); @unlink($filename); echo 'Error: File …
179 php  zip  ziparchive 

6
如何通过PHP删除文件?
如果文件位于另一个目录中,如何使用PHP从服务器中删除文件? 这是我的页面布局: projects/backend/removeProjectData.php (此文件将删除我对数据库的所有条目,并且还应删除相关文件) public_files/22.pdf (文件所在的位置。) 我正在使用的unlink功能: unlink('../../public_files/' . $fileName); 但这总是给我一个错误,该文件不存在。有任何想法吗?
179 php  file-io 

12
奇怪的PHP错误:“无法在写入上下文中使用函数返回值”
我收到此错误,无法显示它的开头或结尾。 确切的错误消息是: 致命错误:在第48行的/home/curricle/public_html/descarga/index.php中的写入上下文中无法使用函数返回值 第48行是: if (isset($_POST('sms_code') == TRUE ) { 这可能是怎么回事? 这是全部功能: function validate_sms_code() { $state = NOTHING_SUBMITED; if (isset($_POST('sms_code') == TRUE ) { $sms_code = clean_up($_POST('sms_code')); $return_code = get_sepomo_code($sms_code); switch($return_code) { case 1: //no error $state = CORRECT_CODE; break; case 2: // code already used $state = CODE_ALREADY_USED; break; …
178 php  fatal-error 

7
CodeIgniter:创建新的助手?
我需要以不同的方式循环许多数组并将其显示在页面中。数组由模块类生成。我知道最好不要在“视图”上包含函数,并且我想知道在哪里插入函数文件。 我知道我可以“扩展”助手,但是我不想扩展助手。我想用我的循环函数创建一个助手。让我们称之为loops_helper.php

5
使用Composer的开发/生产交换机时如何正确部署?
Composer可以选择仅在开发过程中加载多个依赖项,因此这些工具将不会安装在生产环境中(在实时服务器上)。从理论上讲,这对于仅在开发中有意义的脚本非常方便,例如测试,伪数据工具,调试器等。 可行的方法是require-dev使用开发中所需的工具添加一个附加块: "require-dev": { "codeception/codeception": "1.6.0.3" } 然后(理论上)通过 composer install --dev 问题与疑问: Composer改变了行为,install并update在2013年发生了巨大变化,require-dev-dependencies现在已默认安装(!),可以随意创建一个带require-dev块的composer.json 并执行一个composer install重现。 作为最流行的部署方式,是推动作曲家。锁定(保存您当前的作曲家设置),然后composer install在生产服务器上执行,这也会安装开发资料。 在不安装-dev依赖项的情况下进行部署的正确方法是什么? 注意:我正在尝试在此处创建规范的Q / A,以阐明怪异的Composer部署。随时编辑此问题。

13
最佳实践多语言网站
我已经在这个问题上苦苦挣扎了好几个月了,但是以前我从来没有需要探索所有可能的选择的情况。现在,我觉得该是时候了解各种可能性并建立自己的个人喜好了,以便在我即将进行的项目中使用。 首先让我勾勒出我要寻找的情况 我将要升级/重新开发已经使用了一段时间的内容管理系统。但是,我觉得多语言是对该系统的极大改进。在我没有使用任何框架之前,我将在即将到来的项目中使用Laraval4。Laravel似乎是更干净的PHP编码方式的最佳选择。Sidenote: Laraval4 should be no factor in your answer。我正在寻找独立于平台/框架的一般翻译方式。 应该翻译什么 由于我正在寻找的系统需要尽可能地方便用户使用,因此管理翻译的方法应在CMS内部。无需启动FTP连接即可修改翻译文件或任何html / php解析的模板。 此外,我正在寻找最简单的方法来转换多个数据库表,而无需创建其他表。 我自己想到了什么 我一直在寻找,阅读和尝试自己的东西。我有几个选择。但是我仍然不觉得自己已经达到了我真正追求的最佳实践方法。现在,这是我想出的,但是这种方法也有副作用。 PHP解析模板:模板系统应由PHP解析。这样,我就可以将转换后的参数插入HTML,而不必打开模板并进行修改。除此之外,PHP解析的模板使我能够为整个网站使用1个模板,而不必为每种语言都拥有一个子文件夹(这是我以前使用的)。达到此目标的方法可以是Smarty,TemplatePower,Laravel's Blade或任何其他模板解析器。正如我所说,这应该独立于书面解决方案。 数据库驱动的:也许我不需要再次提及。但是解决方案应该是数据库驱动的。CMS的目标是面向对象和MVC,所以我需要考虑字符串的逻辑数据结构。正如我的模板将被结构化:模板/控制器/ View.php也许这一结构将最有意义:Controller.View.parameter。数据库表将这些字段与字段长在一起value。在模板内部,我们可以使用某种排序方法,例如echo __('Controller.View.welcome', array('name', 'Joshua'))和参数contains Welcome, :name。因此结果是Welcome, Joshua。这似乎是执行此操作的好方法,因为编辑器很容易理解诸如:name之类的参数。 数据库负载低:如果在旅途中加载这些字符串,上述系统当然会导致数据库负载。因此,我需要一个缓存系统,以便在管理环境中编辑/保存语言文件后立即重新呈现它们。由于生成了文件,因此还需要一个良好的文件系统布局。我想我们可以选择languages/en_EN/Controller/View.php最适合的是.ini或.ini。也许.ini甚至可以更快地解析。该数据应包含中的数据format parameter=value; 。我猜这是最好的方法,因为渲染的每个View都可以包含它自己的语言文件(如果存在)。然后,应将语言参数加载到特定视图,而不是在全局范围内加载,以防止参数相互覆盖。 数据库表翻译:实际上,这是我最担心的事情。我正在寻找一种创建News / Pages / etc的翻译的方法。尽快。每个模块都有两个表(例如News和News_translations)是一个选项,但是要获得一个好的系统感觉很费力。有一个问题我想出了是基于对事物data versioning系统我写的:有一个数据库表名Translations,这个表有一个独特的组合language,tablename和primarykey。例如:en_En / News / 1(请参阅ID为1的“新闻”项目的英文版本)。但是此方法有两个巨大的缺点:首先,该表往往会在数据库中存储大量数据时变得很长,其次,使用此设置来搜索表将是一件艰巨的工作。例如,搜索该项目的SEO段将是全文搜索,这真是愚蠢。但另一方面:这是一种非常快速地在每个表中创建可翻译内容的快速方法,但我不认为这会增加缺点。 前端工作:前端也需要一些思考。当然,我们会将可用的语言存储在数据库中,并停用所需的语言。这样,脚本可以生成一个下拉菜单来选择一种语言,后端可以自动决定可以使用CMS进行哪些翻译。然后,在获取用于视图的语言文件或为网站上的内容项获取正确的翻译时,将使用所选的语言(例如en_EN)。 因此,它们在那里。到目前为止,我的想法。它们甚至还不包括日期等的本地化选项,但是由于我的服务器支持PHP5.3.2 +,因此最好的选择是使用国际扩展名,如此处所述:http ://devzone.zend.com/1500/internationalization-in -php-53 / -但这将在以后的开发中使用。目前,主要问题是如何拥有网站内容翻译的最佳实践。 除了我在这里解释的所有内容之外,我还有另一件事尚未决定,它看起来像一个简单的问题,但实际上,这让我头疼: 网址翻译?我们应该这样做吗?又以什么方式? …

11
哪种检查数组是否具有多个元素的更好方法?
我只需要检查数组是否具有多个元素。我正在尝试这样做: if (isset($arr['1'])) 另一种传统方式是 if (sizeof($arr)>1) 两者哪一个更好?在这种情况下,如何判断两种替代方法?是否有任何性能检查表可用来衡量哪个更好?
177 php  arrays 

10
最佳实践:在PHP中使用长的多行字符串吗?
注意:很抱歉,如果这是一个非常简单的问题,但是我对代码的格式有些强迫。 我有一个类,该类具有返回字符串的函数,该字符串将构成电子邮件的正文。我希望此文本经过格式化,以便它在电子邮件中看起来很正确,而且也不会使我的代码显得时髦。这就是我的意思: class Something { public function getEmailText($vars) { $text = 'Hello ' . $vars->name . ", The second line starts two lines below. I also don't want any spaces before the new line, so it's butted up against the left side of the screen."; return $text; } } 但也可以写成: …
177 php  string 


1
在函数中使用默认参数
我对PHP函数的默认值感到困惑。说我有一个这样的功能: function foo($blah, $x = "some value", $y = "some other value") { // code here! } 如果我想对$ x使用默认参数并为$ y设置不同的参数怎么办? 我一直在尝试不同的方法,但我变得更加困惑。例如,我尝试了以下两个: foo("blah", null, "test"); foo("blah", "", "test"); 但是,这两个都不会为$ x产生适当的默认参数。我也试图通过变量名来设置它。 foo("blah", $x, $y = "test"); 我完全希望这样的事情能奏效。但这根本不符合我的预期。似乎不管我做什么,每次调用该函数时,无论如何我都必须最终键入默认参数。而且我必须缺少明显的东西。
177 php  arguments  default 

9
使用curl获取PHP中的HTTP代码
我正在使用CURL来获取网站的状态(如果它处于启动状态/关闭状态或重定向到另一个网站)。我想使其尽可能地精简,但是效果不佳。 <?php $ch = curl_init($url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_TIMEOUT,10); $output = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return $httpcode; ?> 我把它包装在一个函数中。它可以正常工作,但性能不是最好的,因为它会下载整个页面,如果我删除$output = curl_exec($ch);它,它会一直返回0。 有谁知道如何提高性能?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.