可能重复的 使用PHP将jpg图像转换为gif,png和bmp格式 我有一个PHP表单,允许图像上传和检查exif_imagetype(); 确保图像有效。 但是,我希望所有的格式,PNG,JPG,JPEG和GIF,最终被提交PNG。 我怎么能这样做?
我有一个棘轮聊天服务器文件 use Ratchet\Server\IoServer; use Ratchet\WebSocket\WsServer; use MyAppChat\Chat; require dirname(__DIR__) . '/vendor/autoload.php'; $server = IoServer::factory( new WsServer( new Chat() ) , 26666 ); $server->run(); 我使用Websocket连接ws ,它工作正常 if ("WebSocket" in window) { var ws = new WebSocket("ws://ratchet.mydomain.org:8888"); ws.onopen = function() { // Web Socket is connected. You can send data by send() method. ws.send("message to send"); }; […]
我正在重新devise一个使用最小数据库的PHP驱动的网站。 原始版本使用“伪准备语句”(引用和参数replace的PHP函数)来防止注入攻击并将数据库逻辑从页面逻辑中分离出来。 用一个使用PDO和真实准备好的语句的对象代替这些特定的函数似乎是很自然的,但是在我读完这些对象之后,我不太确定。 PDO似乎仍然是一个好主意,但准备好的陈述的主要卖点之一就是能够重用它们,这是我永远不会想到的。 这是我的设置: 这些陈述都非常简单。 大多数是在formsSELECT foo,bar FROM baz WHERE quux = ? ORDER BY bar LIMIT 1 SELECT foo,bar FROM baz WHERE quux = ? ORDER BY bar LIMIT 1 。 在这个地段最复杂的陈述只是三个这样的select联合在一起的UNION ALL 。 每个页面命中至多执行一个语句,并只执行一次。 我处于一个托pipe环境,因此对个人进行任何“压力testing”的抨击他们的服务器持怀疑态度。 鉴于使用准备好的语句,至less会使我所做的数据库往返次数增加一倍,我最好是避免它们? 我可以使用PDO::MYSQL_ATTR_DIRECT_QUERY避免多个数据库行程的开销,同时保留参数化和注入防御的好处吗? 或者,执行准备好的语句API使用的二进制调用与执行未准备好的查询相比,执行得还不错,我不应该担心这个问题呢? 编辑: 感谢所有的好build议,伙计们。 这是我希望我可以将多个答案标记为“已接受”的地方 – 有很多不同的观点。 但最终,我必须给予他应有的回报……如果没有他的回答,即使在听取了大家的意见后,我也会幸福地离开,完成了错误的事情。 🙂 仿真准备好的声明是!
在评论之后有些混乱 在PHP中有一个字母类名是安全的,例如A,B,C 我以为我提出了一个问题。 根据PHP手册,有效的类名应该与[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* 。 但显然,这不是强制执行,也不适用于其他任何事情: define('π', pi()); var_dump(π); class ␀ { private $␀ = TRUE; public function ␀() { return $this->␀; } } $␀ = new ␀; var_dump($␀ ); var_dump($␀->␀()); 工作正常(即使我的IDE不能显示␀)。 有些博学的人可以为我清楚吗? 我们可以使用任何Unicode吗? 如果是这样,从什么时候开始? 不是说我实际上只想用A-Za-z_但我很好奇。 澄清:我不是在一个正则expression式来validation类名,也不知道如果PHP内部使用它在手册中build议的正则expression式。 让我困惑的东西(显然是链接问题中的其他人)是为什么像$☂ = 1这样的东西可以在PHP中使用。 PHP6被认为是Unicode版本,但是PHP6处于中断状态。 但是,如果没有Unicode支持,为什么我可以这样做呢?
我做了一些表单validation,以确保用户上传的文件是正确的types。 但是上传是可选的,所以如果他没有上传任何内容并提交表单的其余部分,我想跳过validation。 我如何检查他是否上传了一些东西? $_FILES['myflie']['size'] <=0工作?
由于某种原因,内部没有任何代码 if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) { // When the above is set, the code that is here will execute of course } 正在为我执行。 当我input正确的用户名和密码时,再次popup授权提示框。 如果这两个字段是正确的,那么这两个字段都不会被设置? 但由于某种原因,情况并非如此。 我能做什么错了? 谢谢。
我正在尝试浏览目录中的所有文件,并且如果有目录,请检查所有文件等,直到没有更多目录可用。 每个处理的项目都将被添加到下面的函数中的结果数组中。 它不工作,虽然我不知道我能做什么/我做错了什么,但浏览器运行速度非常缓慢,当下面的代码处理,任何帮助表示感谢,谢谢! 码: function getDirContents($dir){ $results = array(); $files = scandir($dir); foreach($files as $key => $value){ if(!is_dir($dir. DIRECTORY_SEPARATOR .$value)){ $results[] = $value; } else if(is_dir($dir. DIRECTORY_SEPARATOR .$value)) { $results[] = $value; getDirContents($dir. DIRECTORY_SEPARATOR .$value); } } } print_r(getDirContents('/xampp/htdocs/WORK'));
我将如何去分裂这个词: oneTwoThreeFour 到一个数组,以便我可以得到: one Two Three Four 与preg_match ? 我厌倦了这一点,但它只是给出了整个词 $words = preg_match("/[a-zA-Z]*(?:[az][a-zA-Z]*[AZ]|[AZ][a-zA-Z]*[az])[a-zA-Z]*\b/", $string, $matches)`;
我试图输出对象的列表作为JSON,并想知道是否有办法使对象可用于json_encode ? 我得到的代码看起来像 $related = $user->getRelatedUsers(); echo json_encode($related); 现在,我只是迭代用户数组,并将它们单独导出到数组中,以便json_encode为我变成可用的json。 我已经尝试使对象迭代,但json_encode似乎只是跳过它们。 编辑 :这里的var_dump(); php > var_dump($a); object(RedBean_OODBBean)#14 (2) { ["properties":"RedBean_OODBBean":private]=> array(11) { ["id"]=> string(5) "17972" ["pk_UniversalID"]=> string(5) "18830" ["UniversalIdentity"]=> string(1) "1" ["UniversalUserName"]=> string(9) "showforce" ["UniversalPassword"]=> string(32) "" ["UniversalDomain"]=> string(1) "0" ["UniversalCrunchBase"]=> string(1) "0" ["isApproved"]=> string(1) "0" ["accountHash"]=> string(32) "" ["CurrentEvent"]=> string(4) "1204" ["userType"]=> string(7) "company" } […]
CodeIgniter数据库configuration中的一个参数如下 ['pconnect'] TRUE/FALSE – Whether to use a persistent connection 你有什么build议我设置? 如果将其设置为FALSE,是否会有明显的性能下降? 将其设置为TRUE可能会产生哪些潜在的问题?