Я создаю дискуссионный форум как часть большего приложения, которое я создаю, форум - это всего лишь 1 раздел приложения.Загрузить/загрузить/сохранить изображение на локальный сервер с удаленного сервера, используя URL-адрес изображения и PHP?
Для полей TextArea при публикации новой темы или сообщения Ответ, я решил, что ничего не так хорошо, как PageDown Markdown Library
. Это тот же, что StackOverflow использует на всех своих сайтах, и он работает лучше, чем многие из его конкурентов.
Способ передачи библиотеки, хотя я не доволен функциональностью по умолчанию Insert Image
. Вы нажимаете кнопку, чтобы вставить изображение, и оно позволяет вам вводить URL-адрес изображения, а затем вставляет соответствующий синтаксис MarkDown для отображения связанного изображения.
Это просто не отрежет. Мне нужна функциональность, которую вы видите в StackOverflow! Очень похоже.
мне это нужно, чтобы показать диалоговое окно при нажатии на кнопку Вставить изображение, как это делает сейчас, но вместо простого поля ввода для URL изображения, он будет иметь 2 варианта ... подали
- Загрузить изображение с вашего компьютера
- Вставьте URL-адрес изображения, затем он будет СКАЧИВАТЬ изображение с этого URL-адреса и вставить его в сообщение так же, как если бы вы его загрузили с вашего компьютера. Это важно, чтобы не путать этот шаг. ИТ не следует просто вставлять изображение, привязывая его к исходному URL-адресу изображения. Вместо этого он будет принимать этот URL-адрес и загружать/загружать изображение на тот же сервер, что и опция
upload from computer
, а затем вставляет новый URL-адрес изображения, указывающий на недавно загруженное изображение!
На основе некоторого простого HTML, как показано ниже, для диалогового окна с файлом для загрузки с компьютеров, которое у меня уже есть. Мне нужно придумать какой-нибудь JavaScript и PHP, который будет загружать/сохранять удаленное изображение в мою папку загрузки на моем сервере, когда нажимается кнопка, используя только URL-адрес, который будет внутри поля ввода текста URL.
Так что нужно будет сделать несколько вещей ...
- Fetch и сохранить файл изображения на мои загрузки папки с помощью PHP, когда единственное, что функция PHP получит это URL изображения который может находиться на одном сервере или, скорее всего, на удаленном сервере.
- После успешного сохранения/выгрузки изображения с URL-адреса функция PHP вернет строку JSON со статусом/ошибкой и в случае успеха затем вернет фактический URL-адрес и имя файла, в котором новое изображение сохраняется на локальном сервер. Сценарий JavaScript/AJAX получит этот ответ JSON и вставляет синтаксис Markdown для изображения в редактор PageDown.
- Функция PHP должна гарантировать, что URL-адрес, который он пытается сохранить/загрузить, является допустимым файлом изображения, а не каким-то вредоносным файлом! Кроме того, просто не просто файл неправильного типа файлов, например, файл без изображения, если мы не разрешаем тип файла.
Он будет частью модуля, установленного на многих серверах динозавров, поэтому он должен работать как можно больше серверов!
Из Интернета
Я был бы признателен любой помощи, подсказки, фрагменты кода или что-нибудь, чтобы помочь с этим. На этом этапе мне просто нужно создать nie-функцию PHP, которая будет загружать изображения с удаленного URL-адреса, а также убедиться, что URL-адрес, переданный в файл, является реальным файлом изображения или даже лучше, чем в массиве разрешенных типов файлов!
Пару лет назад я начал это, но теперь потерял его, и я начинаю все заново и не помню много о том, как я тогда занимался этим.
Обратите внимание, что вы можете использовать библиотеку php для проверки формата изображения, например Imagick с getImageFormat(). – technico