> 백엔드 개발 > PHP 튜토리얼 > Yii는 activeFileField 컨트롤을 사용하여 파일과 사진을 업로드하는 방법을 구현합니다.

Yii는 activeFileField 컨트롤을 사용하여 파일과 사진을 업로드하는 방법을 구현합니다.

WBOY
풀어 주다: 2016-07-29 09:08:41
원래의
1039명이 탐색했습니다.

이 기사의 예에서는 Yii가 activeFileField 컨트롤을 사용하여 파일과 사진을 업로드하는 방법을 설명합니다. 참고용으로 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

yii 프레임워크는 파일 업로드 작업(물론 이미지 업로드 포함)을 완료하기 위해 activeFileField 컨트롤을 제공합니다. 다음은 yii의 사용 방법을 소개합니다. 활성 파일 필드.

1. 함수 프로토타입:

코드 복사 코드는 다음과 같습니다.

public static string activeFileField(CModel $ model, string $attribute, array $htmlOpti ( ))


2. 호출 예:

(1) 먼저 양식을 'multipart'로 설정해야 합니다. /form-data ', 자세한 내용은 내 항목을 참조하세요.

<&#63;php $form=$this->beginWidget('CActiveForm', array(
'id'=>'books-form',
'enableAjaxValidation'=>false,
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
));
?>

로그인 후 복사

(2) 그런 다음 보기 아래의 양식에 설정합니다.

<div>
<&#63;php echo $form->labelEx($model,'BookImg'); ?>
<&#63;php echo CHtml::activeFileField($model,'BookImg'); &#63;>
<&#63;php echo $form->error($model,'BookImg'); ?>
</div>

로그인 후 복사

(3) 사진을 미리 보려면 다음 단락을 추가하면 됩니다.

<div>
<&#63;php echo '图片预览' &#63;>
<&#63;php echo '<img src="http://www.XXXX.com/'.$model->BookImg.'"/>'; ?>
</div>

로그인 후 복사

(4) 마지막으로 다음을 추가해야 합니다. 컨트롤 클래스에:

if($model->save())
{
$image=CUploadedFile::getInstance($model,'BookImg');
 if (is_object($image) && get_class($image)==='CUploadedFile')
 {
 $image->saveAs("D:/aaa/aa.jpg");//路径必须真实存在,并且如果是linux系统,必须有修改权限
 }
$this->redirect(array('view','id'=>$model->BookId));
}
로그인 후 복사

참고: 추가할 때 사용되며 수정하는 경우 변경해야 합니다.

(5) 업로드하는 파일은 이미지여야 하며, 이미지 크기도 제한되어 있습니다. 그런 다음 모델 레이어의 규칙에 다음 문장을 추가하세요.

array('BookImg', 'file','allowEmpty'=>true,
'types'=>'jpg, gif, png',
'maxSize'=>1024 * 1024 * 1, // 1MB
'tooLarge'=>'The file was larger than 1MB. Please upload a smaller file.',
)

로그인 후 복사

이 기사가 Yii 프레임워크를 기반으로 PHP 프로그램을 설계하는 데 도움이 되기를 바랍니다.

위 내용은 Yii가 activeFileField 컨트롤을 사용하여 관련 콘텐츠를 포함하여 파일과 그림을 업로드하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿