gpt4 book ai didi

php - 无法识别文件目录路径的变量

转载 作者:行者123 更新时间:2023-11-28 03:08:11 25 4
gpt4 key购买 nike

到目前为止,我已成功将上传的图片移动到指定目录,并将移动后的图片的文件路径存储到我的数据库中。

但是,问题是我回显的 img src 无法读取包含图像文件路径的变量。我一直在花时间验证我的变量的有效性、回显 img src 的代码语法以及移动/存储代码的成功执行,但是当我引用页面的 View 源时我仍然得到 <img src='' 应该是显示变量中包含的文件路径。

我相信文件路径存储在变量中,因为变量能够被将图像移动到目录和查询数据库的函数识别。

我的编码和故障排除经验还很年轻,如果我的问题的性质太琐碎了,请原谅我。

在问这个问题之前,我已经在 SOF 中搜索了问题,但没有一个答案直接解决了我的问题(至少在我搜索过的问题中)。

主要 PHP block

  //assigning post values to simple variables
$location = $_POST['avatar'];
.
.
.

//re-new session variables to show most recent entries
$_SESSION["avatar"] = $location;
.
.
.

if (is_uploaded_file($_FILES["avatar"]["tmp_name"])) {

//define variables relevant to image uploading
$type = explode('.', $_FILES["avatar"]["name"]);
$type = $type[count($type)-1];
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$rdn = substr(str_shuffle($chars), 0, 15);
//check image size
if($_FILES["avatar"]["size"] > 6500000) {
echo"Image must be below 6.5 MB.";
unlink($_FILES["avatar"]["tmp_name"]);
exit();
}
//if image passes size check continue
else {
$location = "user_data/user_avatars/$rdn/".uniqid(rand()).'.'.$type;
mkdir("user_data/user_avatars/$rdn/");
move_uploaded_file( $_FILES["avatar"]["tmp_name"], $location);
}

}
else {
$location = "img/default_pic.jpg";
}

HTML block

              <div class="profileImage">
<?php

echo "<img src='".$location."' class='profilePic' id='profilePic'/>";

?><br />
<input type="file" name="avatar" id="avatar" accept=".jpg,.png,.jpeg"/>
.
.
.

查看源代码

<div class="profileImage">
<img src='' class='profilePic' id='profilePic'/><br />
<input type="file" name="avatar" id="avatar" accept=".jpg,.png,.jpeg"/>
.
.
.

最佳答案

好吧,终于找到错误并成功解决了!

在更新表格后简单地向$location变量声明一个avatar session变量,通过用$_SESSION[替换所有$location变量来更新html插入"avatar_column"] 一切就绪!

PHP:

    $updateCD = "UPDATE users SET languages=?, interests=?, hobbies=?, bio=?, personal_link=?, country=?, avatar=? WHERE email=?";
$updateST = $con->prepare($updateCD);
$updateST->bind_param('ssssssss', $lg, $it, $hb, $bio, $pl, $ct, $location, $_SESSION["email_login"]);
$updateST->execute();

$_SESSION["avatar"] = $location; //Important!

if ($updateST->errno) {
echo "FAILURE!!! " . $updateST->error;
}

HTML:

    <div class="profileImage">
<?php
$_SESSION["avatar"] = (empty($_SESSION["avatar"])) ? "img/default_pic.jpg" : $_SESSION["avatar"] ;
echo "<img src='".$_SESSION["avatar"]."' class= 'profilePic' id='profilePic'> ";
?>
.
.
.

谢谢!

关于php - 无法识别文件目录路径的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31667452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com