Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检测字符串是base64还是directory_Php_Base64 - Fatal编程技术网

Php 检测字符串是base64还是directory

Php 检测字符串是base64还是directory,php,base64,Php,Base64,结果发现我不知道如何解决这个问题就发疯了。我已经测试了几个base64验证函数,以检测字符串是base64还是文件的路径 $path='/img/2015/desert-and-34.jpg'; function itsBase64($data){ if ( base64_encode(base64_decode($data)) === $data){ return true; } else { return false; } } itsB

结果发现我不知道如何解决这个问题就发疯了。我已经测试了几个base64验证函数,以检测字符串是base64还是文件的路径

$path='/img/2015/desert-and-34.jpg';

function itsBase64($data){

   if ( base64_encode(base64_decode($data)) === $data){
       return true;
    } else {
       return false;
    }
}

itsBase64($path);
结果是未定义,我不知道为什么

也许答案太明显了,但我已经转了好几个小时,不知道为什么验证结果不是假的。谁能帮我一把吗


编辑:

看起来函数运行得很好,但我把自己和验证搞混了。问题是它没有检测到字符串是base64映像,并返回false

也就是说,路由将其检测为false,如果它传递base64文件字符串,则也将其检测为false

我不理解验证失败的原因,因为base64具有以下结构:

$path='data:image/jpeg;base64,/9j/4AAQSkZJRgAB...
Base64是在javascript中使用画布生成的

你为什么不承认它是base64呢

我做了一点软糖来让路,我希望有人能帮我一把

 if(substr($image, 0,11) === 'data:image/'){     

       $imageWidth = getimagesize($image);


    $image1->base64_to_file($image, $DestJPG);

}

非常不酷的解决方案…

未定义的不是php术语。你到底从哪里弄来的

你应该试试:

var_dump( itsBase64($path) );
要查看从函数返回的确切值。

请尝试这种方式

$path='/img/2015/desert-and-34.jpg';

function itsBase64($data){

   if ( base64_encode(base64_decode($data)) === $data){
       return 1;
    } else {
       return 0;
    }
}

echo itsBase64($path); // Output is 0

抱歉,我忘了提到undefined将其放入PHP错误报告结果为false,但奇怪的是我更改了base64的路径,它仍然给我false,不是吗?我的base64是使用Javascript画布生成的,具有以下类型的结构:data:image/jpeg;base64,/9j/4AAQSKZJRGABAQAAAQABAD….@DekelI给出的答案是有效的,因为我已经能够验证函数的结果是否为false,虽然现在我的问题不同了,但当您可以查看我编辑的第一篇文章时,包含了更多信息,非常感谢。对不起,我没有看到您的消息。事实证明,在现实中,该函数的结果总是错误的,即使path变量是base64。我不知道的是,如果问题是用javascript画布生成的base64 jpg,您能给出这个原因的错误吗?