まず第一に、ajax はファイルをアップロードできないため、今夜は眠れなかったので、指示に従ってファイルを更新せずにアップロードしました 実際、原理は非常に簡単です。 コードをコピー コードは次のとおりです: " /> 一般的なものとの比較 タグには、タブ ページを開いてデータを送信する場所を指定するために使用される target 属性がもう 1 つあります。 この属性が設定されていない場合、アクション内の URL はリダイレクトされ、通常どおりこのページで開かれます。 そして、iframe の name 値、つまり「upload」に設定すると、CSS が非表示に設定されているため、iframe で開かれます。 display:none を削除すると、サーバーから返された情報も表示されます。 あなたが主催したクラスも投稿してください。 コードをコピーします コードは次のとおりです。 クラスアップロード { public $_file; >public function __construct( $name =null) { if(is_null($name) || !isset($_FILES[$name])) $name = key($_FILES) ); if(!isset($_FILES[$name])) throw new Exception("ファイルがアップロードされていません"); $this->_file = $_FILES [$ name]; if(!is_uploaded_file($this->_file['tmp_name'])) throw new Exception("Exception"); ; _file['error'] !== 0) throw new Exception("エラー コード:".$this->_file['error']); } public function moveTo( $ new_dir ) { $real_dir = $this->checkDir($new_dir); return move_uploaded_file($this->file['tmp_name'], $real_dir.'/'.$this - >_file['name']); } プライベート関数 checkDir($dir) { $real_dir = realpath($dir) if($real_dir ==) = false) throw new Exception("指定されたディレクトリ {$dir} が存在しません"); if(!is_writable($real_dir)) throw new Exception("指定されたディレクトリ {$dir} } は利用できません" Write "); return $real_dir; 呼び出し例: コードをコピーします。 コードは次のとおりです: $inputName = 'uploadfile'; // つまり、 空白のままにすることができます$upload = new Upload($inputName); $new_dir = "/www" // ファイルを移動するパス$upload->moveTo( $new_dir);