【问题标题】:HTML & PHP - Not displaying updated imageHTML & PHP - 不显示更新的图像
【发布时间】:2017-03-22 13:16:06
【问题描述】:

我正在开发一个带有头像的登录服务。我还在开发一种裁剪服务,可以让我裁剪照片,然后将其设置为我帐户的头像。 一个只有一个表单宽度、一个文件输入标签和一个提交按钮。当我单击“提交”输入时,裁剪窗口打开并显示要裁剪的头像。 这是我的 PHP 和 HTML 代码。

<html>
<body>
<form method="post">
<input type="file" name="image">
<input type="submit" name="submit">
</form>
</body>
</html>

<?php 
if(isset($_POST["submit"])) {
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/");
}
?>

问题是当我已经创建了一个头像并且我想更新它时。当我上传图像并将其设置为头像时,裁剪窗口不会显示新图像,而是显示旧图像。

我做错了什么?谢谢!

【问题讨论】:

    标签: html image avatar


    【解决方案1】:

    问题是当我已经创建了一个头像并且我想更新它时。当我上传图像并将其设置为头像时,裁剪窗口不会显示新图像,而是显示旧图像。

    我不确定这是您的代码问题(此处显示的代码不足)还是您的浏览器问题(也没有相关信息)。但是,许多浏览器会在本地缓存图片。也就是说,即使您在服务器上成功更新了图片,它也可能不会立即显示在客户端的浏览器中——因为浏览器仍在使用本地缓存版本。在不使用浏览器缓存的情况下重新加载网页以排除这种可能性。这可以在 Firefox 等浏览器中使用 Ctrl+F5 完成,其他浏览器提供类似的快捷方式。

    【讨论】:

    • 当我重新加载页面时图像显示正确,但是如何设置脚本重新加载而不丢失表单信息?谢谢!
    【解决方案2】:

    首先你必须将 enctype 属性设置为 multipart/form-data

    <form method="post" action="index.php" enctype="multipart/form-data">
    

    第二个 move_uploaded_file() 函数需要文件名而不是目录作为参数。

    move_uploaded_file($_FILES["image"]["tmp_name"],"photos/avatar.jpg");
    

    【讨论】:

    • 没有改变,图像仍然显示不正确。
    猜你喜欢
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多