Imej berjaya dimuat naik
P粉585541766
2023-08-15 13:46:27
<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>我尝试编辑代码并刷新数据库,但我没有看到问题。它已连接到数据库,但我没有看到问题。它已连接到数据中。
Saya rasa saya tahu apa masalahnya. Dalam fail account.php anda, anda cuba memaparkan imej dengan kod berikut:
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: