cari

Rumah  >  Soal Jawab  >  teks badan

Imej berjaya dimuat naik

<p>Imej saya muncul seperti dimuat naik dalam URL yang bermaksud ia telah dimuat naik dengan betul tetapi saya tidak pasti kerana saya tidak melihatnya muncul dalam halaman web atau pangkalan data tetapi ia muncul dalam direktori folder saya. </p> <p>Berikut ialah dua halaman yang saya gunakan untuk melakukan proses ini. </p> <p>account.php ialah tempat saya memuat naik gambar, dan profile-upload.php ialah pelayan/belakang akaun.php. </p> <p>Akaun saya.php:</p> <pre class="brush:php;toolbar:false;"><?php session_start(); sertakan_sekali "safe-header.php"; include_once "serverside/database-server.php"; if (isset($_SESSION['useremail']) && !empty($_SESSION['useremail'])) { $useremail = $_SESSION['useremail']; } lain { $useremail = 'Pengguna'; } ?> <!DOCTYPE html> <html lang="ms"> <kepala> <pautan rel="stylesheet" href="Css/account.css"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Halaman Akaun Alternatif</title> </head> <badan> <div class="muat naik-bekas"> <p class="useremail">Selamat datang, <?php echo htmlspecialchars($useremail ?></p> <div class="pilihan akaun"> <a href="update-profile.php" class="update-profile">Kemas kini Profil</a> <a href="serverside/logout-server.php" class="logout-btn">Logout</a> </div> <div> <?php $userId = $_SESSION['userid'] ?? null; $sql = "PILIH imej DARI profil WHERE usersId = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $userId); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); jika ($baris && !kosong($baris['imej'])) { echo '<img src="' . $row['imej'] . '">'; } lain { bergema "<p>Tiada apa-apa di sini.</p>"; } ?> <form action="serverside/profile-upload.php" kaedah="siaran" enctype="berbilang bahagian/data-bentuk"> <label untuk="imej profil">Pilih Imej</label> <jenis input="fail" name="imej profil"> <jenis butang="serahkan" name="muat naik-btn">Muat naik Imej</button> </form> </div> </div> <?php sertakan_sekali "footer.php"; ?></pra> <p>这是profile-upload.php:</p> <pre class="brush:php;toolbar:false;"><?php session_start(); memerlukan "pelayan pangkalan data.php"; if (isset($_POST['upload-btn'])) { $validExt = ['jpg', 'jpeg', 'png']; $ext = strtolower(pathinfo($_FILES['profile-image']['name'], PATHINFO_EXTENSION)); if (in_array($ext, $validExt)) { $lokasi = "../uploads/"; $sasaran = $lokasi . uniqid() . '.' . $ext; if (move_uploaded_file($_FILES['profile-image']['tmp_name'], $target)) { $userId = $_SESSION['userid']; $sql = "KEMASKINI profil SET imej = ? WHERE usersId = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("si", $target, $userId); $stmt->execute(); $stmt->tutup(); header("lokasi: ../account.php?success=imageuploaded"); keluar(); } lain { header("lokasi: ../account.php?error=imagecantbeuploaded"); keluar(); } } lain { header("lokasi: ../account.php?error=cannotusethisfiletype"); keluar(); } } lain { header("lokasi: ../account.php"); keluar(); }</pre> <p>我尝试编辑代码并刷新数据库,但我没有看到问题。它已连接到数据库,但我没有看到问题。它已连接到数据中。
P粉585541766P粉585541766473 hari yang lalu586

membalas semua(1)saya akan balas

  • P粉825079798

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

    Saya rasa saya tahu apa masalahnya. Dalam fail account.php anda, anda cuba memaparkan imej dengan kod berikut:

    echo '<img src="' . $row['image'] . '">';

    Untuk menyelesaikan masalah ini, anda perlu menukar atribut src kepada URL penuh fail imej. Anda boleh menggunakan fungsi realpath() dalam PHP untuk mendapatkan URL lengkap fail imej. Sebagai contoh, kod berikut akan mendapat URL penuh fail imej dan memaparkannya pada halaman:

    $imageUrl = realpath('../uploads/' . $row['image']);
    echo '<img src="' . $imageUrl . '">';

    balas
    0
  • Batalbalas