【发布时间】:2025-12-05 13:05:01
【问题描述】:
我使用 php 脚本将图像上传到我的服务器。我只能将 jpeg 格式的图像添加到我的服务器。
我无法将 png 格式的图像添加到我的服务器。我没有在我的脚本中使用任何条件。它可以是所有类型的图像。任何人都可以帮助我。这是我使用的代码。文件来自另一个页面。值通过 jquery 访问此页面。
其中 c3 是文本框名称
$file_name1 = dirname($_SERVER['DOCUMENT_ROOT']).'/CDN/image/'.$t."1".substr($_REQUEST['c3'],strlen($_REQUEST['c3'])-4,strlen($_REQUEST['c3']));
file_put_contents($file_name1,base64_decode( str_replace('data:image/jpeg;base64,', '',$_REQUEST['c13'])));
mysql_query("INSERT INTO `table_name` VALUES ('','".$_REQUEST['c1']."','".$_REQUEST['c5']."','".$_REQUEST['c6']."','".$t."1".substr($_REQUEST['c3'],strlen($_REQUEST['c3'])-4,strlen($_REQUEST['c3']))."','".$_REQUEST['c27']."','".$_REQUEST['c28']."','".$_REQUEST['c25']."','".$_REQUEST['c26']."','".$_REQUEST['c11']."','".$_REQUEST['c12']."',NOW())");
感谢您的回复。我得到了答复。我使用此代码:
if(strpos($_REQUEST['c13'],'jpeg') !== false ) {
file_put_contents($file_name1,base64_decode( str_replace('data:image/jpeg;base64,', '',$_REQUEST['c13'])));
}
elseif(strpos($_REQUEST['c13'],'png') !== false ) {
file_put_contents($file_name1,base64_decode( str_replace('data:image/png;base64,', '',$_REQUEST['c13'])));
}
【问题讨论】:
-
能贴出相关代码吗?您是否尝试在将图像存储到硬盘驱动器之前对其进行处理?如果是,您使用的是什么库?并且您支持 png 文件吗?您是否尝试过使用不同的文件,例如 .txt、.mp3 等?您尝试的 .png 文件是否比 jpg 更重(更多 Kb)?文件的大小(Kb)是多少?您现在的上传限制是多少?
-
哇,刚看到代码的时候还以为格式有问题,但是没有,是你写的方式。这是我最近见过的最复杂的代码之一。
-
如何在这一行添加 png 格式 base64_decode( str_replace('data:image/jpeg;base64,', '',$_REQUEST['c13']))
标签: php apache image-processing