0
파일 형식 및 파일 크기가 첨부 된 파일 형식 인 파일 형식이 이지만 인 PHP 문의 양식이 있습니다. 사용자가 이미지를 첨부하는 것을 잊었는지 확인해야합니다 (예 : , 사진 부착은 "필수 입력란"이어야하며 '사진 첨부하십시오.'라는 메시지가 표시됩니다. 문제PHP 양식 - 파일이 첨부되어 있는지 확인하십시오.
양식 :
http://www.cucinadellanonna.com/nominate-form.php
이 첨부 파일을 확인하는 코드의 일부이다 ... 나는 아무 소용, 몇 가지를 추가하려고했습니다, 그래서 난 그냥 찔러 해요 어두운 데에서. 어떤 파일이 업로드되지 않은 경우
//file upload validation
if(!empty($this->fileupload_fields))
{
if(!$this->ValidateFileUploads())
{
$ret = false;
}
}
return $ret;
}
function ValidateFileType($field_name,$valid_filetypes)
{
$ret=true;
$info = pathinfo($_FILES[$field_name]['name']);
$extn = $info['extension'];
$extn = strtolower($extn);
$arr_valid_filetypes= explode(',',$valid_filetypes);
if(!in_array($extn,$arr_valid_filetypes))
{
$this->add_error("Valid file types are: $valid_filetypes");
$ret=false;
}
return $ret;
}
function ValidateFileSize($field_name,$max_size)
{
$size_of_uploaded_file =
$_FILES[$field_name]["size"]/1024;//size in KBs
if($size_of_uploaded_file > $max_size)
{
$this->add_error("The file is too big. File size should be less than $max_size KB");
return false;
}
return true;
}
function IsFileUploaded($field_name)
{
if(empty($_FILES[$field_name]['name']))
{
return false;
}
if(!is_uploaded_file($_FILES[$field_name]['tmp_name']))
{
return false;
}
return true;
}
function ValidateFileUploads()
{
$ret=true;
foreach($this->fileupload_fields as $upld_field)
{
$field_name = $upld_field["name"];
$valid_filetypes = $upld_field["file_types"];
if(!$this->IsFileUploaded($field_name))
{
continue;
}
if($_FILES[$field_name]["error"] != 0)
{
$this->add_error("Error in file upload; Error code:".$_FILES[$field_name]["error"]);
$ret=false;
}
if(!empty($valid_filetypes) &&
!$this->ValidateFileType($field_name,$valid_filetypes))
{
$ret=false;
}
if(!empty($upld_field["maxsize"]) &&
$upld_field["maxsize"]>0)
{
if(!$this->ValidateFileSize($field_name,$upld_field["maxsize"]))
{
$ret=false;
}
}
}
return $ret;
}
는 내가 다른 문장의 무리를 리버스 엔지니어링 시도했지만 난 그냥 어둠 속에서 찌르는거야 ... 내가 문을 형성하기에 충분한 PHP는 턱이없는 인정 당황입니다. –
답변을 업데이트했습니다. 기능에 대한 수정이 포함되어 있습니다. – Flosculus
이 문장에서'$ this-> add_error' 오류 메시지를 어디에 넣을까요? –