Я прочитал документацию редактора Froala:
http://editor.froala.com/server-integrations/php-image-upload
Прочитал статьи об этой проблеме здесь, в переполнении стека, но пока безуспешно.
Проблема связана с переменной $ response, которая помещает путь к изображению в параметр image src.
До сих пор froala помещает изображение в указанную папку на сервере (поэтому скрипт работает). Проблема заключается в том, что froala не помещает путь в источник изображения таким образом, чтобы изображение не добавлялось.
Это мой скрипт загрузки изображений (работает отлично)
<?php
$fileName = $_FILES["image"]["name"];
$fileTmpLoc = $_FILES["image"]["tmp_name"];
$fileType = $_FILES["image"]["type"];
$fileSize = $_FILES["image"]["size"];
$fileErrorMsg = $_FILES["image"]["error"];
$kaboom = explode(".", $fileName);
$fileExt = end($kaboom);
$fileName = time().rand().".".$fileExt;
if (!$fileTmpLoc) {
header('Location: ../announcments.php?aid=9');
exit();
} else if($fileSize > 5242880) {
echo "ERROR: Your file was larger than 5 Megabytes in size.";
unlink($fileTmpLoc);
exit();
} else if (!preg_match("/.(gif|jpg|png|JPG)$/i", $fileName) ) {
echo "ERROR: Your image was not .gif, .jpg, or .png.";
unlink($fileTmpLoc);
exit();
} else if ($fileErrorMsg == 1) {
echo "ERROR: An error occured while processing the file. Try again.";
exit();
}
$moveResult = move_uploaded_file($fileTmpLoc, "../uploads/contentimg/$fileName");
if ($moveResult != true) {
echo "ERROR: File not uploaded. Try again.";
unlink($fileTmpLoc);
//This bit has been taken as example from froala website.
// Generate response.
$response = new StdClass;
$response->link = "/uploads/contentimg/" . $fileName;
echo stripslashes(json_encode($response));
//example from froala ends
exit();
}
Так что это должно быть неправильно, так как все остальное работает:
// Generate response.
$response = new StdClass;
$response->link = "/uploads/contentimg/" . $fileName;
echo stripslashes(json_encode($response));
Пожалуйста помоги.
Когда изображение сохранено, делается запрос POST. Ответ будет примерно таким: {link: '/uploads/contentimg/file_name.jpg'}
, Вы должны убедиться, что ссылка на ответ может быть доступна в браузере как абсолютный путь в вашем случае. Если вы на http://example.com/my/long/path, изображение будет доступно на http://example.com/uploads/contentimg/file_name.jpg.
Других решений пока нет …