HTML & PHP - 不显示更新后的图像
HTML & PHP - Not displaying updated image
我正在开发带有头像的登录服务。我还在开发一项裁剪服务,可以让我裁剪照片,然后将其设置为我帐户的头像。
一个只有一个表单宽度、一个文件输入标签和一个提交按钮。当我单击 "submit" 输入时,裁剪 window 打开并显示要裁剪的头像。
这是我的 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/");
}
?>
问题是当我已经创建了头像并且我想更新它时。当我上传图像并将其设置为头像时,裁剪 window 显示的不是新图像,而是旧图像。
我做错了什么?谢谢!
首先你必须将 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");
The problem is when I've already created an avatar and I want to update it. When I upload the image and set it as avatar, the crop window is not showing me the new image, but the old one.
我不确定这是您的代码问题(此处显示的代码不足)还是您的浏览器问题(也没有相关信息)。但是,许多浏览器在本地缓存图像。 也就是说,即使您在服务器上成功更新了图像,它也可能不会立即显示在客户端的浏览器中 - 因为浏览器是仍在使用本地缓存的版本。在不使用浏览器缓存的情况下重新加载网页以排除这种可能性。这可以在Firefox等浏览器中使用Ctrl+F5来完成,其他浏览器提供类似的快捷方式。
我正在开发带有头像的登录服务。我还在开发一项裁剪服务,可以让我裁剪照片,然后将其设置为我帐户的头像。 一个只有一个表单宽度、一个文件输入标签和一个提交按钮。当我单击 "submit" 输入时,裁剪 window 打开并显示要裁剪的头像。 这是我的 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/");
}
?>
问题是当我已经创建了头像并且我想更新它时。当我上传图像并将其设置为头像时,裁剪 window 显示的不是新图像,而是旧图像。
我做错了什么?谢谢!
首先你必须将 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");
The problem is when I've already created an avatar and I want to update it. When I upload the image and set it as avatar, the crop window is not showing me the new image, but the old one.
我不确定这是您的代码问题(此处显示的代码不足)还是您的浏览器问题(也没有相关信息)。但是,许多浏览器在本地缓存图像。 也就是说,即使您在服务器上成功更新了图像,它也可能不会立即显示在客户端的浏览器中 - 因为浏览器是仍在使用本地缓存的版本。在不使用浏览器缓存的情况下重新加载网页以排除这种可能性。这可以在Firefox等浏览器中使用Ctrl+F5来完成,其他浏览器提供类似的快捷方式。