cashloveyou
@cashloveyou
Хороший чел

Загрузить файл по ссылке, и выдать JSON?

Внедряю editor.js , с загрузкой изображения вручную справился , но когда вставляешь изображение откуда то
нужен другой обработчик который загрузит файл и выдаст url в json
Как можно это реализовать ?
Моя функция
if ($f == 'upload-blog-image') {
    reset($_FILES);
    $temp = current($_FILES);
    if (is_uploaded_file($temp['tmp_name'])) {
        $fileInfo = array(
            'file' => $temp["tmp_name"],
            'name' => $temp['name'],
            'size' => $temp["size"],
            'type' => $temp["type"]
        );
        $media    = Wo_ShareFile($fileInfo);
        if (!empty($media)) {
            $mediaFilename = $media['filename'];
            $mediaName     = $media['name'];
        }
        if (!empty($mediaFilename)) {
            $filetowrite = Wo_GetMedia($mediaFilename);
            echo json_encode(array(
                'success' => '1',
                'file' => (['url' => $filetowrite])
            ));
            exit();
        } else {
            header("HTTP/1.0 500 Server Error");
        }
    } else {
        header("HTTP/1.0 500 Server Error");
    }
}
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
glaphire
@glaphire Куратор тега PHP
PHP developer
1) Это не функция, это часть процедурного кода)
2) В коде указаны кастомные функции Wo_ShareFile, Wo_GetMedia, без них невозможно воспроизвести код локально, чтобы что-то советовать исправить
3) Больше всего на ответ сервера с урлом файла похож этот участок
if (!empty($mediaFilename)) {
            $filetowrite = Wo_GetMedia($mediaFilename);
            echo json_encode(array(
                'success' => '1',
                'file' => (['url' => $filetowrite])
            ));
            exit();
        } else { //something

Вместо
echo json_encode(array(
                'success' => '1',
                'file' => (['url' => $filetowrite])
            ));
            exit();

хорошо бы переделать по принципу этого ответа https://stackoverflow.com/a/4064468/5371978
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы