いくつか下記のコードをコーディングしてください!ユーザー固有のギャラリーエリアPHPを作成しますか?
私は現在、メンバーがすべての情報を表示するプロファイルを設定できる場所があります。私は今、ユーザーに画像をアップロードするオプションを与えたいと思っています。個人的なギャラリーエリアがあります。
私が見つけたすべてのチュートリアルは、画像のアップロードを行う方法を示しています。そして、そこにギャラリーエリアがある他の人々がそれで働くことにユーザーに特定ではない。
これは、ユーザー固有のデータベースが必要と思われますか?または$ _SESSION変数を処理しますか?私はちょうどこれを行うことについて行く方法を知りません。
完全に失われた人が正しい方向に私を向けることができますか?
以下は私の現在のgallery.phpコードです。これはちょうどサムネイルを生成し、すべての画像をアップロードフォルダに表示します。
これを編集して、セッションまたは指定されたユーザープロファイル内のユーザーの画像を表示するにはどうすればよいですか?
<?php
if (isset($_GET['img'])){
//make thumbnail
if(file_exists($_GET['img'])){
ignore_user_abort(true);
set_time_limit(120);
ini_set('memory_limit', '512M');
$src_size = getimagesize($_GET['img']);
if ($src_size === false){
die('That does not look like an image.');
}
$thumb_width = 200;
$thumb_height = 150;
if ($src_size['mime'] === 'image/jpeg'){
$src = imagecreatefromjpeg($_GET['img']);
}else if ($src_size['mime'] === 'image/png'){
$src = imagecreatefrompng($_GET['img']);
}else if ($src_size['mime'] === 'image/gif'){
$src = imagecreatefromgif($_GET['img']);
}
$src_aspect = round (($src_size[0]/$src_size[1]), 1);
$thumb_aspect = round(($thumb_width/$thumb_height), 1);
if ($src_aspect < $thumb_aspect){
//higher than thumb
$new_size = array ($thumb_width, ($thumb_width/$src_size[0]) * $src_size[1]);
$src_pos = array (0, (($new_size[1] - $thumb_height) * ($src_size[1]/$new_size[1]))/2);
}else if ($src_aspect > $thumb_aspect){
// wider than thumb
$new_size = array(($thumb_width/$src_size[1]) * $src_size[0], $thumb_height);
$src_pos = array((($new_size[0] - $thumb_width) * ($src_size[0]/$new_size[0]))/2, 0);
}else{
// same shape as thumb
$new_size = array($thumb_width, $thumb_height);
$src_pos = array(0, 0);
}
if ($new_size[0] < 1) $new_size[0] = 1;
if ($new_size[1] < 1) $new_size[1] = 1;
$thumb = imagecreatetruecolor($thumb_width, $thumb_height);
imagecopyresampled($thumb, $src, 0, 0, $src_pos[0], $src_pos[1], $new_size[0], $new_size[1], $src_size[0], $src_size[1]);
if ($src_size['mime'] === 'image/jpeg'){
imagejpeg($thumb, "thumbs/{$_GET[ 'img' ]}");
}else if ($src_size['mime'] === 'image/png'){
imagepng($thumb, "thumbs/{$_GET[ 'img' ]}");
}else if ($src_size['mime'] === 'image/gif'){
imagegif($thumb, "thumbs/{$_GET[ 'img' ]}");
}
header("Location: thumbs/{$_GET[ 'img' ]}");
}
die();
}
if (is_dir('./thumbs') === false){
mkdir('./thumbs', 0744);
}
$images = glob('*.{jpg, jpeg, png, gif}', GLOB_BRACE);
?>
<?php
foreach ($images as $image){
if (file_exists("./thumbs/{image}")){
echo "<a href=\"{$image}\"><img src=\"thumbs/{$image}\" alt=\"{$image}\" /></a>";
}else{
echo "<a href=\"{$image}\"><img src=\"?img={$image}\" alt=\"{$image}\" /></a>";
}
}
?>
こんにちはMilap、返信いただきありがとうございます!だから私はちょうどアップロードフォルダ内のすべての画像を表示する上の私のPHPコードを掲載した。データベースの設定が完了したら、指定したユーザーの画像のみを表示するためにこのコードを変更する必要がありますか? :) –
私の編集した回答を参照してください.. – Milap