フォーラムを作成中です。現在、ユーザーがプロフィール画像(アバター)を更新できるようにしようとしています。私はBLOBでこれをやろうとしています。私はデータベースに画像を保存することは良い考えではないことを認識していますが、これは単なる自己学習のプロジェクトであり、将来の実生活では考えられないでしょう。PHP/MYSL - BLOBを使用しているユーザーにアバターアップロード機能を作成する
私は現在ありませんデータベースに保存されている画像の問題に出くわすと、次のエラーが発生しています:
私は(はっきり)PHPの初心者くさい午前、誰かが助けることができれば幸いです私はそれがデータベースに画像を保存するために必要なものを理解しています。
私はこのようなイメージを保存することができますか、それとも何らかの理由で外部キーを使用しているユーザー情報にリンクできる完全な別のテーブルが必要かどうかと思います。
以下は、機能と問題に関して私が使用しているmysqlテーブルです。
mysql -> describe users;
+-----------------+-------------+------+-----+---------+--------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+--------------+
| user_Id | int(8) | NO | PRI | NULL |auto_increment|
| user_name | varchar(30) | NO | | NULL | |
| user_pass | varchar(255)| NO | | NULL | |
| user_email | varchar(255)| NO | | NULL | |
| user_date | datetime | NO | | NULL | |
| user_level | int(8) | NO | | NULL | |
| user_description| varchar(255)| YES | | NULL | |
| user_avatar | longblob | NO | | NULL | |
+-----------------+-------------+------+-----+---------+--------------+
8 rows in set (0.02 sec)
これは私のeditprofile.phpファイルのコードです。
プロジェクトとdatabseに名前を付けて保存画像を保存の名前と同じディレクトリにあるフォルダに保存しcolumns.Instead、データベース内の画像を保存本当に悪い習慣だ<?php
include 'connect.php';
include 'header.php';
if(!isset($_SESSION['signed_in']))
{
//the user is not logged in.
echo 'You must be <a href="/Latest_try/signin.php">Signed in</a> to add an image to your profile.';
}
else
{
if($_SERVER['REQUEST_METHOD']!='POST')
{
echo '<form action="" method="post" enctype="multipart/form-data">
Choose Image: <input type="file" name="user_avatar"><br/>
<input type="submit" name="submit" value="Upload">
</form>';
}
else
{
$query = "INSERT INTO
users(user_avatar)
VALUES
('" . mysqli_real_escape_string($link, $_POST['user_avatar']) . "',
NOW(),
'" . $_SESSION['user_id'] . "')";
$result=mysqli_query($link, $query);
if($result===false)
{
mysqli_error($link);
}
else
{
echo 'Your avatar has been updated!';
}
}
}
?>
入力ファイルには、 '$ _FILES ['user_avatar'] ['name']' – Saty
を使用します。ありがとう。 – Richard