好了 インターネットで色々な情報を確認してみてください。 tp 自体に付属するアップロード クラスをインターフェイスに変更します
class UserAction extends Action{ //添加 public function add(){ // var_dump(uniqid().(time().rand(0,100))); // die(); import('ORG.Net.UploadFile'); $upload = new UploadFile();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小 $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 //$upload->saveRule = uniqid;//这个是改变图片名称的,可同时改变多张图片的名称,实现图片的不同名 这样也就不会出现覆盖的现象了 $upload->saveRule='mytime'; $upload->savePath = './Public/Uploads/';// 设置附件上传目录 if(!$upload->upload()) {// 上传错误提示错误信息 $this->error($upload->getErrorMsg()); }else{// 上传成功 获取上传文件信息 $info = $upload->getUploadFileInfo(); } $user = M('user'); $user->create(); // 创建数据对象 $user->user_pic = "http://".$this->_server('HTTP_HOST').'/Public/Uploads/'.$info[0]['savename']; // 保存上传的照片根据需要自行组装 $user->user_idcard = "http://".$this->_server('HTTP_HOST').'/Public/Uploads/'.$info[1]['savename']; $user->user_card = "http://".$this->_server('HTTP_HOST').'/Public/Uploads/'.$info[2]['savename']; //$user->piclink = "http://".$this->_server('HTTP_HOST').'/Public/Uploads/'.$info[0]['savename']; // //$user->time = date('Y-m-d H:i:s',time()); $user->add(); // echo $flash->getlastsql(); // die(); $this->success("数据保存成功!"); }
次に、通常は http フォーム アップロードを通じて、つまり もちろん、$_FILES にデータがあれば、アプリによってアップロードされた画像が取得されたことを意味しますそうでない場合は失敗します
アプリのアップロードは変更する必要はありません。
アプリは content-disposition: form-data を使用してアップロードします。 : http://blog.csdn.net/fdipzone/article/details/12180523
file_get_contents; php://input') を使用できます。
他の人は、最初にファイルの内容を読み取り、それを Base64 でエンコードしてからアップロードします。 これは、主に APP によって処理される単純なブレークポイントです。
。