検索

ホームページ  >  に質問  >  本文

画像が正常にアップロードされました

<p>私の画像は、URL にアップロード済みとして表示されます。これは、画像が正しくアップロードされたことを意味しますが、Web ページやデータベースには表示されないが、フォルダー ディレクトリには表示されるため、わかりません。 </p> <p>このプロセスを実行するために使用する 2 つのページは次のとおりです。 </p> <p>account.php は写真をアップロードする場所で、profile-upload.php は account.php のサーバー/バックエンドです。 </p> <p>私のアカウント.php:</p> <pre class="brush:php;toolbar:false;"><?php セッション開始(); include_once "safe-header.php"; include_once "サーバーサイド/データベースサーバー.php"; if (isset($_SESSION['useremail']) && !empty($_SESSION['useremail'])) { $useremail = $_SESSION['useremail']; } それ以外 { $useremail = 'ユーザー'; } ?> <!DOCTYPE html> <html lang="ja"> <頭> <link rel="stylesheet" href="Css/account.css"> <メタ名="ビューポート"コンテンツ="幅=デバイス幅、初期スケール=1.0"" <title>代替アカウント ページ</title> </head> <本体> <div class="アップロードコンテナ"> <p class="useremail">ようこそ、<?php echo htmlspecialchars($useremail); ?></p> <div class="アカウントオプション"> <a href="update-profile.php" class="update-profile">プロファイルを更新</a> <a href="serverside/logout-server.php" class="logout-btn">ログアウト</a> </div> <div> <?php $userId = $_SESSION['userid'] ??ヌル; $sql = "プロフィール WHERE ユーザー ID = ?" から画像を選択します。 $stmt = $conn->prepare($sql); $stmt->bind_param("i", $userId); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); if ($row && !empty($row['image'])) { echo '<img src=''' 。 $row['image'] 。 '">'; } それ以外 { echo "

ここには何もありません。

"; } ?> <form action="serverside/profile-upload.php"メソッド=「投稿」 enctype="multipart/form-data"> <label for="profile-image">画像を選択</label> <入力タイプ="ファイル" name="プロフィール画像"> <ボタンの種類=「送信」 name="upload-btn">画像をアップロード</button> </フォーム> </div> </div> <?php include_once "footer.php"; ?></pre> <p>これはprofile-upload.php:</p> <pre class="brush:php;toolbar:false;"><?php セッション開始(); "database-server.php" が必要です。 if (isset($_POST['upload-btn'])) { $validExt = ['jpg', 'jpeg', 'png']; $ext = strto lower(pathinfo($_FILES['profile-image']['name'], PATHINFO_EXTENSION)); if (in_array($ext, $validExt)) { $location = "../uploads/"; $target = $location 。 uniqid() 。 「。」 。 $ext; if (move_uploaded_file($_FILES['profile-image']['tmp_name'], $target)) { $userId = $_SESSION['userid']; $sql = "プロフィールを更新して画像を設定 = ? WHERE usersId = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("si", $target, $userId); $stmt->execute(); $stmt->close(); header("location: ../account.php?success=imageuploaded"); 出口(); } それ以外 { header("場所: ../account.php?error=imagecantbeuploaded"); 出口(); } } それ以外 { header("場所: ../account.php?error=このファイルタイプは使用できません"); 出口(); } } それ以外 { header("場所: ../account.php"); 出口(); }</pre> <p>私たちはコードを試して新しいデータベースにアクセスしましたが、CSS も問題ありませんでした。
P粉585541766P粉585541766473日前587

全員に返信(1)返信します

  • P粉825079798

    P粉8250797982023-08-16 09:31:31

    問題がどこにあるのかはわかったと思います。 account.php ファイルで、次のコードを使用して画像を表示しようとしています:

    リーリー

    この問題を解決するには、src 属性を画像ファイルの完全な URL に変更する必要があります。 PHP で realpath() 関数を使用すると、画像ファイルの完全な URL を取得できます。たとえば、次のコードは画像ファイルの完全な URL を取得し、ページに表示します。 リーリー

    返事
    0
  • キャンセル返事