現在、画像のアップロードスクリプトに取り組んでいますが、画像の詳細をデータベースに保存しようとすると、わずかな問題が発生します。アップロードフォームは画像を取得し、その詳細を確認して、画像の拡張子を取得します。これは正常に機能しますが、画像パスはデータベースに保存されません。
これは問題のコードの一部です:
$file_path = 'images/profile/' . substr(md5(time()), 0, 10) . '.' . $file_extn;
echo $file_path;
try {
$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "UPDATE user SET img=$file_path WHERE userID = $username";
$stmt = $con->prepare( $sql );
$stmt->bindValue( "file_path", $this->file_path, PDO::PARAM_STR );
$stmt->execute();
if ( $stmt->rowCount() > 0 ) {
echo ('Complete');
}
else {
echo ('Error');
}
}catch( PDOException $e ) {
return $e->getMessage();
}
}
今、私が「echo$file_path;」を持っている理由 値が正しく渡されていることを確認する必要がありました。
現在、画像がアップロードされた場合、これをエコーアウトします:images / profile / f1b4edb293.jpg
したがって、すべてが正常に機能しており、実際に保存する時点で失敗します。
さらにテストするために、file_path変数から文字列とパスの詳細を削除し、そこにダミー値を追加しました。例:
$test = "test";
$file_path = $test;
そして確かに、それは機能し、データベースにテストを挿入しました。
そのため、この形式に問題があると私は信じています。
$file_path = 'images/profile/' . substr(md5(time()), 0, 10) . '.' . $file_extn;
そのどの部分がデータベースへの保存を妨げているかについてのアイデアはありますか?