画像は ThinkPHP に正常にアップロードされましたが、データベース フィールドの内容は NULL です
public function Upload(){
import('ORG.Net.UploadFile')
$upload = new UploadFile(); // アップロードをインスタンス化します。 class
$ Upload->maxSize = 3145728 ; // 添付ファイルのアップロード サイズを設定します
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 添付ファイルを設定しますアップロードの種類
$upload ->savePath = './Public/Uploads/';// 添付ファイルのアップロード ディレクトリを設定
if(!$upload->upload()) {// アップロード エラー メッセージ
$this-> ;error($ Upload->getErrorMsg());
}else{// アップロード成功 アップロードされたファイル情報を取得します
$info = $upload->getUploadFileInfo(); // 添付ファイルデータを含むフォームデータを保存します
$User = M ("Photo"); // ユーザーオブジェクトをインスタンス化します
$User->create(); // データオブジェクトを作成します
$User->photo = $info[0]['tupian']; // 保存してアップロード 必要に応じて写真を組み立てます
$User->add(); // ユーザー データをデータベースに書き込みます
$this->success('データは正常に保存されました!');
}
方法アップロードされた写真の名前を変更し、データベースに正常に挿入されました
ディスカッションに返信 (解決策) $User->add($info)
$info を印刷して見てください。
$User->add($info);
そうでなければ、成功しなくても成功したように見えます。
私も初心者です
array(1) { [0]=> array(8) { ["name"]=> string(7) "444.jpg" ["type"]=> string(10) "image/jpeg" ["size"]=> int(2502) ["key"]=> int(0) "jpg" ["保存パス"] => 文字列(17) "./Public/Uploads/" ["保存名"]=> 文字列(7) "444.jpg" ["ハッシュ"]=> 文字列(32) "9a4e6104c8b37bb4df69e059339545d1" } }
$info を印刷して見てください。
$を入れます情報を印刷してご覧ください。
"savepath" => "./Public/Uploads/"
"savename" => "444.jpg" から
$User->photo = substr($info[0]) ['savepath'], 1) . $info[0]['savename'];
"savepath" => $User->photo = substr($info[0]['savepath'], 1 ) . $info[0]['savename'];
ははは、ありがとう、うまくいきました
私の質問の多くはすべてあなたからのものです 解決するのを手伝ってください
神様、この小さな女の子に敬意を表してください
$info を印刷して見てください。
savepath をデータベースに保存するにはどうすればよいですか?
パス設定に関連するすべてのものを設定ファイルに配置し、データベースに保存しないことを示します。ファイル名のみがデータベースに保存されます。
さらに、ファイルの名前が変更されていない場合、ファイルが同じ名前で上書きされやすくなります。一意の識別子を生成できる関数をインターネット上で見つけて、一意の識別子のファイル名を生成することをお勧めします。挿入する前に名前を変更します。