PHP帖子内容长度超出限制
“我的图像上载器”设置了一条错误消息,当上载的图像大于某个大小时显示该消息。但是,如果我上传了一些非常大的内容,错误消息就会被忽略,用户会看到我不想让他们看到的帖子内容长度超过了错误消息。有人能帮我弄清楚为什么太大的图像文件不能显示错误消息吗 以下是上载照片时调用的验证函数:PHP帖子内容长度超出限制,php,file-upload,Php,File Upload,“我的图像上载器”设置了一条错误消息,当上载的图像大于某个大小时显示该消息。但是,如果我上传了一些非常大的内容,错误消息就会被忽略,用户会看到我不想让他们看到的帖子内容长度超过了错误消息。有人能帮我弄清楚为什么太大的图像文件不能显示错误消息吗 以下是上载照片时调用的验证函数: //------------------------------ private function _verify($fn) { //------------------------------ global $_
//------------------------------
private function _verify($fn) {
//------------------------------
global $_WEBCONFIG;
$isValid = TRUE;
$userID = isset($_POST["hidId"]) ? (int)$_POST["hidId"] : 0;
$this->record2->p_id = $this->proId;
$fieldName = "txtName";
$fieldValue = SanitizeData($_POST[$fieldName]);
if (!$fieldValue || strlen($fieldValue = trim($fieldValue)) == 0) {
$this->record2->i_name = '';
} else {
$this->record2->i_name = $fieldValue;
}
$fieldName = "fleImage";
if (isset($_FILES[$fieldName]) && strlen($_FILES[$fieldName]['name']) > 0) {
$fieldValue = $_FILES[$fieldName]['name'];
$file_ext = strtolower(GetExtName($fieldValue));
$arExts = explode(",", VALID_IMGS);
if (!in_array($file_ext, $arExts)) {
$this->errors[] = "Invalid Image Format. (Allowed image types: " . VALID_IMGS . ")";
$isValid = FALSE;
} else {
$size = getimagesize($_FILES[$fieldName]['tmp_name']);
if ($size[0] < $_WEBCONFIG['THUMB_WIDTH'] || $size[1] < $_WEBCONFIG['THUMB_HEIGHT']) {
$this->errors[] = "Invalid Image Size. (Image Dimensions: " . $_WEBCONFIG['IMAGE_WIDTH'] . " x " . $_WEBCONFIG['IMAGE_HEIGHT'] . " or larger)";
$isValid = FALSE;
}
$imageSize = filesize($_FILES[$fieldName]['tmp_name']);
if ($imageSize > 16777216){
$this->errors[] = "Invalid File Size. File size must be smaller than 128 MB.";
$isValid = FALSE;
}
}
} else if ($fn == 0) {
$this->errors[] = "Please upload an Image (Image Dimensions: " . $_WEBCONFIG['IMAGE_WIDTH'] . " x " . $_WEBCONFIG['IMAGE_HEIGHT'] . " or larger.)";
$isValid = FALSE;
}
$fieldName = "txtOrder";
$fieldValue = SanitizeData($_POST[$fieldName]);
if (strlen($fieldValue = trim($fieldValue)) == 0) {
$this->record2->i_sort_id = 99999;
} else {
$this->record2->i_sort_id = $fieldValue;
}
return $isValid;
}//end function
//------------------------------
私人功能验证($fn){
//------------------------------
全球美元网络配置;
$isValid=TRUE;
$userID=isset($\u POST[“hidId”])?(int)$\u POST[“hidId”]:0;
$this->record2->p_id=$this->proId;
$fieldName=“txtName”;
$fieldValue=SanitizeData($_POST[$fieldName]);
如果(!$fieldValue | | strlen($fieldValue=trim($fieldValue))==0){
$this->record2->i_name='';
}否则{
$this->record2->i_name=$fieldValue;
}
$fieldName=“fleImage”;
如果(isset($_文件[$fieldName])&&strlen($_文件[$fieldName]['name'])>0){
$fieldValue=$\u文件[$fieldName]['name'];
$file_ext=strtolower(GetExtName($fieldValue));
$arExts=爆炸(“,”有效);
如果(!in_数组($file_ext,$arExts)){
$this->errors[]=“无效的图像格式。(允许的图像类型:”.VALID_IMGS。“)”;
$isValid=FALSE;
}否则{
$size=getimagesize($_文件[$fieldName]['tmp_名称]);
如果($size[0]<$\u网络配置['THUMB\u WIDTH'].$size[1]<$\u网络配置['THUMB\u HEIGHT'])){
$this->errors[]=“图像大小无效。(图像尺寸:“$\u WEBCONFIG['Image\u WIDTH']”x“$\u WEBCONFIG['Image\u HEIGHT']”或更大)”;
$isValid=FALSE;
}
$imageSize=filesize($_FILES[$fieldName]['tmp_name']);
如果($imageSize>16777216){
$this->errors[]=“文件大小无效。文件大小必须小于128 MB。”;
$isValid=FALSE;
}
}
}否则如果($fn==0){
$this->errors[]=“请上载图像(图像尺寸:“.$\u WEBCONFIG['Image\u WIDTH']”x“$\u WEBCONFIG['Image\u HEIGHT']”或更大)。”;
$isValid=FALSE;
}
$fieldName=“txtOrder”;
$fieldValue=SanitizeData($_POST[$fieldName]);
如果(strlen($fieldValue=trim($fieldValue))==0){
$this->record2->i_sort_id=9999;
}否则{
$this->record2->i\u sort\u id=$fieldValue;
}
返回$isValid;
}//端函数
我正在上载的绕过错误消息的图像大小为37.4 MB,该错误很可能是由服务器发送的。服务器将在php.ini中具有可配置的设置。乙二醇
memory_limit = 32M
upload_max_filesize = 10M
post_max_size = 20M
php.ini文件通常存储在/etc/php.ini或/etc/php.d/cgi/php.ini或/usr/local/etc/php.ini中,但大多数web主机在控制面板中提供了编辑此文件的选项它不会增加文件大小,这就是为什么我需要知道如何在php文件中显示错误或绕过此错误的原因。我尝试添加
ini\u集('upload\u max\u filesize','10M')
和post_max_size
到update-images.php页面顶部的相同内容,但我仍然无法捕获它。您可以通过.htaccess将其配置为:php_value memory_limit 36M
,php_value post_max_size 36M
,php_值上传_最大文件大小32M
或尝试添加多个ini集,如:ini集('meemory_limit','96M')代码>,ini\u集('post\u max\u size','64M')代码>,ini\u集('upload\u max\u filesize','64M')代码>我没有访问htaccess的权限,但是我按照您的建议添加了其余的ini\u集,我就是无法通过它。我只是想在上传页面中添加文本,将客户链接到一个图像压缩程序站点,但是每个在线图像压缩程序都会在我试图上传的图像上出错。太大了!由于在php文件中添加代码不起作用,我恳求它增加服务器的大小,所以我们现在都很好!谢谢你的帮助!