如何使用PHP加密上传的图像文件(如www.yahoo.com/images/image1.jpg )并在浏览器中显示时解密?我想将它保存在文件夹中而不是数据库中。
问问题
12268 次
1 回答
-1
所有上传的文件都由 PHP 存储在一个临时文件夹中。
在提交表单后,可以通过 PHP 设置的 $_FILES["file"]["tmp_name"] 变量访问此临时文件路径。
然后,您可以使用 base64_encode() 等编码(非加密)算法对图像数据进行编码,然后使用 base64_decode() 对其进行解码以进行显示。
<?php
$image_binary = fread(fopen($_FILES["file"]["tmp_name"], "r"),
filesize($_FILES["file"]["tmp_name"]));
$encoded_image = base64_encode($image_binary);
//Save the image file with file data set as $encoded_image
?>
要记住的另一件事是,任何具有管理员访问权限的人(例如您的主机)都可以看到您的 PHP 脚本。这样他们就会知道您使用了哪种加密方法,并且可能会找到解密加密文件的方法。
更好的加密策略:使用 PHP 加密和解密密码的最佳方法?
于 2012-05-17T09:26:49.240 回答