에 메시지를 전달하고, 당신이 볼 수있는 나는 완전히 구현되지 않은이 기본 클래스를 썼다 :내가 가지 PHP 등의 파일을 실험하고있는 프론트 엔드
class AisisCore_FileHandling_Upload_Upload{
private $_file;
static private $_errors;
public function __construct() {
$this->init();
}
public function init(){}
public function check_file(array $file, string $size){
$this->_file = $file;
if ($this->_file['size'] > $size) {
$this->_error('size', 'The size of your zip exceeds that of the set size: ' . $size);
}
if ($this->_file['type'] != 'application/zip') {
$this->_error('type', 'File type must be a .zip');
}
if (!strops($this->_file['name'], 'package') || !strops($this->_file['name'] == 'theme')) {
$this->_error('name', 'File uploaded does not contain the words "package" or "theme." Unreconized.');
}elseif(strops($this->_file['name'], 'package')){
$this->package($this->_file);
}elseif(strops($this->_file['name'], 'theme')){
$this->theme($this->_file);
}
wp_safe_redirect(admin_url('admin.php?page=aisis-core-upload'));
}
public function theme(array $file){
}
public function package(array $file){
}
protected function _error(string $code, string $message){
self::$_errors[$code] = $message;
}
public function get_all_errors(){
foreach($this->_errors as $code=>$message){
echo '<div class="alert alert-error"><strong>'.$code.'</strong>: '.$message.'</div>';
}
}
}
이 클래스를 형태와 상호 작용 :
형태가 "확인"그것은 (해야 (당신이wp_safe_redirect(admin_url('admin.php?page=aisis-core-upload'));
에서 보는 바와 같이) 다시이했다 페이지로 리디렉션이 리디렉션의 규칙을 나누기 파일로 제출
$upload = new AisisCore_FileHandling_Upload_Upload();
if($_POST['aisis_upload']){
$upload->check_file($_FILES['aisis_file'], $_POST['MAX']);
}
$upload->get_all_errors();
<form action="" method="POST">
<fieldset>
<div class="control-group">
<input type="file" class="input-xlarge" name="aisis_file" placeholder="Your file.">
<input type="hidden" name="MAX" value="1024">
</div>
<div class="control-group">
<input type="submit" class="btn btn-primary" value="Upload Zip" name="aisis_upload">
</div>
</fieldset>
</form>
모든 것이 완료되고 완료되면 날씨가 파일을 전달했거나 실패한 경우에도 발생합니다.
문제는 내가 페이지에 다시 돌아올 때 저장해야하는 정적 변수에 오류를 저장하고 있다는 것입니다. 거기에서 오류를 가져올 수 있어야합니다. 대신에 아무것도 얻지 못합니다. . 그냥 빈 페이지, 아무 침을 뱉어도, xdebug는 침묵합니다 ...
어떻게 디버깅합니까? 나는 var를 제출하기 전후에 덤프를 시도했지만, null이되기 전에 제출해야하고 제출 한 후에 .... 페이지가 비어있다.
생각?