#php #image #file #upload #gd
#php #изображение #файл #загрузка #gd
Вопрос:
Я пытаюсь программно добавить оттенок к изображению. Я сделал это очень легко с помощью формы и массива $ _FILES, но мне нужно получить изображение из URL, а изображения, которые я пытаюсь использовать, находятся на моем собственном сервере, если это важно. Вот пример кода функции рабочей формы
$img = new Upload($_FILES['imgfile']);
Теперь все, что мне нужно, это что-то вроде $img = new Upload(fopen($image_path);
, но это не работает… Пожалуйста, помогите мне!!
Комментарии:
1. Выполняет ли этот
Upload
класс и обработку изображений? Кажется странным и является нарушением принципа единой ответственности
Ответ №1:
В следующем коде вы передаете структуру массива $ _FILES в свой класс загрузки:
$img = new Upload($_FILES['imgfile']);
Сама переменная $_FILES['imgfile']
представляет собой массив, состоящий из именованных элементов, таких как 'name'
, 'tmp_name'
и другие — информация о файле, которая была передана в PHP сервером, получающим загруженный файл.
Upload
Похоже, что ваш класс предназначен для обработки такого рода структуры. Вероятно, он был разработан специально для обработки загрузки файлов, поэтому вам может потребоваться немного изменить его, чтобы разрешить передавать любой путь к файлу в качестве параметра вместо этой структуры массива.
Комментарии:
1. На самом деле я понял это, мне просто нужен был адрес сервера для изображения вместо того, чтобы иметь $ _FILES[‘imgname’]; там
Ответ №2:
Ну, вы можете подделать массив $ _FILES, все в порядке.
единственная функция, которую вы не можете обмануть с помощью этого массива, — это move_uploaded_file(), но, похоже, она вам все равно не нужна.
но, знаете, никто понятия не имеет, что такое ваша «новая загрузка».