成功上传图片
P粉585541766
P粉585541766 2023-08-15 13:46:27
[PHP讨论组]
<p>我的图片显示已经上传到URL中,这意味着它已经正确上传,但我不确定,因为我在网页或数据库中看不到它的出现,但在我的文件夹目录中出现了。</p> <p>这是我用来进行这个过程的两个页面。</p> <p>account.php是我上传图片的地方,profile-upload.php是account.php的服务器端/后端。</p> <p>我的account.php:</p> <pre class="brush:php;toolbar:false;">&lt;?php session_start(); include_once &quot;safe-header.php&quot;; include_once &quot;serverside/database-server.php&quot;; if (isset($_SESSION['useremail']) &amp;&amp; !empty($_SESSION['useremail'])) { $useremail = $_SESSION['useremail']; } else { $useremail = 'User'; } ?&gt; &lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;link rel=&quot;stylesheet&quot; href=&quot;Css/account.css&quot;&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt; &lt;title&gt;Alternative Account Page&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;div class=&quot;upload-container&quot;&gt; &lt;p class=&quot;useremail&quot;&gt;Welcome, &lt;?php echo htmlspecialchars($useremail); ?&gt;&lt;/p&gt; &lt;div class=&quot;account-options&quot;&gt; &lt;a href=&quot;update-profile.php&quot; class=&quot;update-profile&quot;&gt;Update Profile&lt;/a&gt; &lt;a href=&quot;serverside/logout-server.php&quot; class=&quot;logout-btn&quot;&gt;Logout&lt;/a&gt; &lt;/div&gt; &lt;div&gt; &lt;?php $userId = $_SESSION['userid'] ?? null; $sql = &quot;SELECT image FROM profile WHERE usersId = ?&quot;; $stmt = $conn-&gt;prepare($sql); $stmt-&gt;bind_param(&quot;i&quot;, $userId); $stmt-&gt;execute(); $result = $stmt-&gt;get_result(); $row = $result-&gt;fetch_assoc(); if ($row &amp;&amp; !empty($row['image'])) { echo '&lt;img src=&quot;' . $row['image'] . '&quot;&gt;'; } else { echo &quot;&lt;p&gt;Nothing here.&lt;/p&gt;&quot;; } ?&gt; &lt;form action=&quot;serverside/profile-upload.php&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt; &lt;label for=&quot;profile-image&quot;&gt;Select Image&lt;/label&gt; &lt;input type=&quot;file&quot; name=&quot;profile-image&quot;&gt; &lt;button type=&quot;submit&quot; name=&quot;upload-btn&quot;&gt;Upload Image&lt;/button&gt; &lt;/form&gt; &lt;/div&gt; &lt;/div&gt; &lt;?php include_once &quot;footer.php&quot;; ?&gt;</pre> <p>这是profile-upload.php:</p> <pre class="brush:php;toolbar:false;">&lt;?php session_start(); require &quot;database-server.php&quot;; if (isset($_POST['upload-btn'])) { $validExt = ['jpg', 'jpeg', 'png']; $ext = strtolower(pathinfo($_FILES['profile-image']['name'], PATHINFO_EXTENSION)); if (in_array($ext, $validExt)) { $location = &quot;../uploads/&quot;; $target = $location . uniqid() . '.' . $ext; if (move_uploaded_file($_FILES['profile-image']['tmp_name'], $target)) { $userId = $_SESSION['userid']; $sql = &quot;UPDATE profile SET image = ? WHERE usersId = ?&quot;; $stmt = $conn-&gt;prepare($sql); $stmt-&gt;bind_param(&quot;si&quot;, $target, $userId); $stmt-&gt;execute(); $stmt-&gt;close(); header(&quot;location: ../account.php?success=imageuploaded&quot;); exit(); } else { header(&quot;location: ../account.php?error=imagecantbeuploaded&quot;); exit(); } } else { header(&quot;location: ../account.php?error=cannotusethisfiletype&quot;); exit(); } } else { header(&quot;location: ../account.php&quot;); exit(); }</pre> <p>我尝试编辑代码并刷新数据库,但我没有看到问题。它已连接到数据库,CSS也是正确的。</p>
P粉585541766
P粉585541766

全部回复(1)
P粉825079798

我想我知道问题出在哪里。在你的account.php文件中,你试图用以下代码显示图片:

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

要修复这个问题,你需要将src属性更改为图片文件的完整URL。你可以使用PHP中的realpath()函数获取图片文件的完整URL。例如,以下代码将获取图片文件的完整URL并在页面上显示:

$imageUrl = realpath('../uploads/' . $row['image']);
echo '<img src="' . $imageUrl . '">';
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号