我仔细遵循了 https://editor.froala.com/docs 上的安装指南。一切都运行良好,除了删除我的服务器的图像。
我在编辑器中上传了一张图像 ->图像保存在本地服务器的上传文件夹中。但是当我选择在编辑器中删除该图像时 ->它已从编辑器中删除,但它仍在上传文件夹中,尽管我尝试了此网站上的指南。我尝试使用火虫,但它没有告诉任何错误。
这是向remove_image.php文件发送请求的JS代码:
<script>
$(function() {
$('#froala')
.editable({
// Set the image upload URL.
inlineMode: false,
imageMove: true,
height: 300,
imageUploadURL: 'upload.php',
imageUploadParam: "file",
imageDeleteURL: "remove_image.php"
})
.on('editable.afterRemoveImage', function (e, editor, $img) {
// Set the image source to the image delete params.
editor.options.imageDeleteParams = {src: $img.attr('src')};
// Make the delete request.
editor.deleteImage($img);
});
});
</script>
这是处理来自JS的已删除请求的remove_image.php(从他们的指南中复制)。这实际上会从上传文件夹中删除图像。但事实并非如此。图像仍然存在。
<?php
// Get src.
$src = $_POST["src"];
// Check if file exists.
if (file_exists(getcwd() . $src)) {
// Delete file.
unlink(getcwd() . $src);
}
?>
啊,我在火虫中找到了以下帖子详细信息:
Parameters
src uploads/6bb7897cfcf2116c4dd04b97031652376bdaf144.png
Source
src=uploads%2F6bb7897cfcf2116c4dd04b97031652376bdaf144.png
图像文件名前面有额外的 %2F。这似乎是错误,但我不知道如何解决这个问题。请帮忙!
用
$src = urldecode($_POST["src"]);
替换 PHP 的第一行应该可以解决问题。
基本上你必须用/
替换%2F
.