我从以前的开发人员那里继承的php脚本遇到了问题。这是一家房地产公司的WordPress网站。有一个php脚本可以从其他公司获取房地产信息,每小时自动运行两次。还有一个插件可以在上传照片时在照片上打上水印。水印需要放在代理上传的照片上,而不是放在从php脚本拉入的照片上。
在php脚本的顶部,他定义了一个常量:
define('MLSP_SKIP_WATERMARK', true);在水印插件中,他检查是否定义了常量:
if (!defined(MLSP_SKIP_WATERMARK)) {
do watermarking stuff
}它无法识别插件中的常量,并在php脚本运行时为所有上传的图片添加水印。
我已经尝试移动到定义了常量的地方。它位于文件的顶部附近,而不是在函数中。是不是和WordPress有关?我发现了类似的问题,但没有给我一个答案。
有人能给我指个方向吗?
发布于 2012-07-26 00:57:41
正如PHP文档所述,defined()接受代表常量名称的字符串,而不是常量本身。
http://php.net/manual/en/function.defined.php
例如,你的代码应该是:
if (!defined("MLSP_SKIP_WATERMARK")) {
do watermarking stuff
}因为传递的是常量本身,所以defined()函数返回false,从而导致您的所有图像都被打上水印。
https://stackoverflow.com/questions/11653486
复制相似问题