Maison  >  Questions et réponses  >  le corps du texte

Image téléchargée avec succès

<p>Mon image apparaît comme téléchargée dans l'URL, ce qui signifie qu'elle a été téléchargée correctement, mais je n'en suis pas sûr car je ne la vois pas apparaître dans la page Web ou la base de données, mais elle apparaît dans mon répertoire de dossiers. </p> <p>Voici les deux pages que j'utilise pour effectuer ce processus. </p> <p>account.php est l'endroit où je télécharge des photos, et profile-upload.php est le serveur/backend de account.php. </p> <p>Mon compte.php:</p> <pre class="brush:php;toolbar:false;"><?php session_start(); include_once "safe-header.php"; include_once "serverside/database-server.php"; if (isset($_SESSION['useremail']) && !empty($_SESSION['useremail'])) { $useremail = $_SESSION['useremail']; } autre { $useremail = 'Utilisateur'; } ?> <!DOCTYPE html> <html lang="fr"> <tête> <link rel="feuille de style" href="Css/account.css"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Page de compte alternatif</title> ≪/tête> <corps> <div class="conteneur de téléchargement"> <p class="useremail">Bienvenue, <?php echo htmlspecialchars($useremail ?></p> <div class="options-compte"> <a href="update-profile.php" class="update-profile">Mettre à jour le profil</a> <a href="serverside/logout-server.php" class="logout-btn">Déconnexion</a> </div> <div> <?php $userId = $_SESSION['userid'] ?? nul; $sql = "SELECT image FROM profile WHERE usersId = ?"; $stmt = $conn->préparer($sql); $stmt->bind_param("i", $userId); $stmt->exécuter(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); if ($row && !empty ($row['image'])) { echo '<img src='' . $ligne['image'] . '">'; } autre { echo "<p> Rien ici.</p>"; } ?> <form action="serverside/profile-upload.php" method="post" enctype="multipart/form-data"> <label for="profil-image">Sélectionner une image</label> <type d'entrée="fichier" name="image-profil"> <type de bouton="soumettre" name="upload-btn">Télécharger l'image</bouton> </formulaire> </div> </div> <?php include_once "footer.php"; ?>≪/pré> <p>这是profile-upload.php:</p> <pre class="brush:php;toolbar:false;"><?php session_start(); nécessite "database-server.php" ; if (isset($_POST['upload-btn'])) { $validExt = ['jpg', 'jpeg', 'png']; $ext = strtolower(pathinfo($_FILES['profile-image']['name'], PATHINFO_EXTENSION)); if (in_array($ext, $validExt)) { $location = "../uploads/"; $cible = $emplacement . uniqid() . '.' . $ext; if (move_uploaded_file($_FILES['profile-image']['tmp_name'], $target)) { $userId = $_SESSION['userid']; $sql = "MISE À JOUR du profil SET image = ? OERE userId = ?"; $stmt = $conn->préparer($sql); $stmt->bind_param("si", $target, $userId); $stmt->exécuter(); $stmt->fermer(); header("emplacement : ../account.php?success=imageuploaded"); sortie(); } autre { header("emplacement : ../account.php?error=imagecantbeuploaded"); sortie(); } } autre { header("emplacement : ../account.php?error=cannotusethisfiletype"); sortie(); } } autre { header("emplacement : ../account.php"); sortie(); }</pré> <p> gt;
P粉585541766P粉585541766453 Il y a quelques jours566

répondre à tous(1)je répondrai

  • P粉825079798

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

    Je pense que je sais quel est le problème. Dans votre fichier account.php vous essayez d'afficher l'image avec le code suivant :

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

    Pour résoudre ce problème, vous devez remplacer l'attribut src par l'URL complète du fichier image. Vous pouvez utiliser la fonction realpath() en PHP pour obtenir l'URL complète du fichier image. Par exemple, le code suivant obtiendra l'URL complète du fichier image et l'affichera sur la page :

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

    répondre
    0
  • Annulerrépondre