Php 找不到类?
我正在使用 index.phpPhp 找不到类?,php,mcrypt,Php,Mcrypt,我正在使用 index.php MCrypt.php存在于同一目录中 当我运行index.php时 致命错误:在中找不到类“MCrypt” /第5行的home/username/project/index.php 更新:我尝试只包含MCrypt.php,但得到了相同的错误。我尝试重命名为.class.php,但得到了相同的错误 class MCrypt { private $iv = 'fedcba9876543210'; #Same as in JAVA private $k
MCrypt.php
存在于同一目录中
当我运行index.php
时
致命错误:在中找不到类“MCrypt”
/第5行的home/username/project/index.php
更新:我尝试只包含MCrypt.php,但得到了相同的错误。我尝试重命名为.class.php,但得到了相同的错误
class MCrypt {
private $iv = 'fedcba9876543210'; #Same as in JAVA
private $key = '0123456789abcdef'; #Same as in JAVA
function __construct() {
}
function encrypt($str) {
$iv = $this->iv;
$td = mcrypt_module_open('rijndael-128', '', 'cbc', $iv);
mcrypt_generic_init($td, $this->key, $iv);
$str = $this->padString($str);
$encrypted = mcrypt_generic($td, $str);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return base64_encode($encrypted);
}
function decrypt($code) {
$code = base64_decode($code);
$iv = $this->iv;
$td = mcrypt_module_open('rijndael-128', '', 'cbc', $iv);
mcrypt_generic_init($td, $this->key, $iv);
$decrypted = mdecrypt_generic($td, $code);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return utf8_encode(trim($decrypted));
}
protected function hex2bin($hexdata) {
$bindata = '';
for ($i = 0; $i < strlen($hexdata); $i += 2) {
$bindata .= chr(hexdec(substr($hexdata, $i, 2)));
}
return $bindata;
}
private function padString($source) {
$paddingChar = ' ';
$size = 16;
$x = strlen($source) % $size;
$padLength = $size - $x;
for ($i = 0; $i < $padLength; $i++) {
$source .= $paddingChar;
}
return $source;
}
}
class-MCrypt{
private$iv='fedcba9876543210'#与JAVA中的相同
private$key='0123456789abcdef'#与JAVA中的相同
函数_u构造(){
}
函数加密($str){
$iv=$this->iv;
$td=mcrypt模块打开('rijndael-128','','cbc',$iv);
mcrypt_generic_init($td,$this->key,$iv);
$str=$this->padString($str);
$encrypted=mcrypt_generic($td,$str);
mcrypt_generic_deinit($td);
mcrypt模块关闭($td);
返回base64_编码($encrypted);
}
函数解密($code){
$code=base64_解码($code);
$iv=$this->iv;
$td=mcrypt模块打开('rijndael-128','','cbc',$iv);
mcrypt_generic_init($td,$this->key,$iv);
$decrypted=mdecrypt_generic($td,$code);
mcrypt_generic_deinit($td);
mcrypt模块关闭($td);
返回utf8_编码(trim($decrypted));
}
受保护的函数hex2bin($hexdata){
$bindata='';
对于($i=0;$i
包含而不是MCrypt.class.php
,如果文件名为MCrypt.php
,则文件名为MCrypt.php
您的php文件必须以php开始标记开始。类之前的第一行必须是是名为MCrypt.php或MCrypt.class.php的文件吗?文件名是否与MCrypt.class.php完全一致?这是唯一的错误吗?您是否复制/粘贴了错误而不进行修改?如果将include
更改为require
,当添加echo“test”时会发生什么
到MCrypt.class.php
文件(类外),运行代码时是否输出“test”?@davogotland是。我试过了。需要一次。相同。我在MCrypt.class.php之前尝试过这个,但得到了相同的错误
class MCrypt {
private $iv = 'fedcba9876543210'; #Same as in JAVA
private $key = '0123456789abcdef'; #Same as in JAVA
function __construct() {
}
function encrypt($str) {
$iv = $this->iv;
$td = mcrypt_module_open('rijndael-128', '', 'cbc', $iv);
mcrypt_generic_init($td, $this->key, $iv);
$str = $this->padString($str);
$encrypted = mcrypt_generic($td, $str);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return base64_encode($encrypted);
}
function decrypt($code) {
$code = base64_decode($code);
$iv = $this->iv;
$td = mcrypt_module_open('rijndael-128', '', 'cbc', $iv);
mcrypt_generic_init($td, $this->key, $iv);
$decrypted = mdecrypt_generic($td, $code);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return utf8_encode(trim($decrypted));
}
protected function hex2bin($hexdata) {
$bindata = '';
for ($i = 0; $i < strlen($hexdata); $i += 2) {
$bindata .= chr(hexdec(substr($hexdata, $i, 2)));
}
return $bindata;
}
private function padString($source) {
$paddingChar = ' ';
$size = 16;
$x = strlen($source) % $size;
$padLength = $size - $x;
for ($i = 0; $i < $padLength; $i++) {
$source .= $paddingChar;
}
return $source;
}
}
<?php
class MCrypt {
...