bat 执行 php 出现问题 原因php 引用 相对路径
最近的项目中使用到计划任务,通过bat执行php文件,然而发现php文件在浏览器中可以执行的很好,而bat调用却始终没有反应
autosave.bat中内容如下
D:\software\php\php.exe -q D:\web\works\mymedia\autosave.php
其中autosave.php文件中包含其他的类使用相对路径
直接在autosave.php里面输出echo 1;
可以在commond命令窗口中看到的确能输出1,而包含类后提示文件不存在
于是autosave.php中定义一个绝对路径
<?php
define('MYMEDIA',dirname(__FILE__));
?>
包含类时使用此路径,再测试通过,至此解决了 bat调用php执行程序时因为使用相对路径不能使用的问题
相关文档:
如下php代码
<?php
$type='a';
$target='type';
$a=array(1,2,3);
a($target);
function a($type)
{
global $$type;
var_dump($$type);
}
?>
预计输出的是string(1)”a”
可是结果是
Notice: Undefined variable: a in D:\web\global.php on ......
我们知道用powerdesigner导出的sql文件后缀为'.sql';用phpmyadmin很容易导入MysQL数据库,但是用PHP怎么导入数据库呢?
我用powerdesigner设计一个数据库后导出sql文件(一个投票系统)为'vote.sql';
文件内容为(一些sql语句和注释):
/*======================= ......
PHP程序设计中中文编码问题曾经困扰很多人,导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展
ASCII 码, 中国的 GB2312-80,日本的 JIS
等。作为该国家/区域内信息处理的基础,字符编码集起着统一编码的重要作用。字符编码集按长度分为
SBCS(单字节字符集),DBCS( ......
找了很多这样的函数,还是觉的这个最好了
$a = 'aadfdsf夺顶替一枯基22245顶替sdffh压下';
/**
* 截取utf-8字符
* @param string $string
* @param int$length
*
* return string
*/
function cutstr($string, $length) {
preg_match_all("/./u", $string, $info);
$i = 0;
$str = '';
foreach($inf ......