С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
 Аватар для netsolex
53 / 53 / 4
Регистрация: 26.05.2011
Сообщений: 379

fwrite() PHP Function - сохранить изображение с URL

22.03.2013, 15:50. Показов 4448. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет!
немогу понять как изменить этот код... не вижу где указывается путь для сохранения... сохраняет изображение там же где и сам файл а мне нужно на две директории предыдущие в папку (../../thumbs)
вот сам код

PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
  // Upload image from URL 
 $fileurl = "http://thumbs.mi9.com/data/1/4343/mi9com-76496.jpg";
 $file_name= substr($fileurl, strrpos($fileurl,"/")+1, 
 strlen($fileurl)-strrpos($fileurl,"/"));  //Retrive file name from url
 $img = file_get_contents($fileurl);//get contents of file
 $f = fopen($file_name, 'w');//Open file
 fwrite($f, $img);//Write File
 fclose($f);
 //close upload image   
 ?>
и еще вопрос такой возник как изменить во время сохранения сам размер изображения ну скажем так по длинне максимум в 150 пикселей. поскольку изображения которые индексируются могут попадаться и больших размеров.. то мне нужно их сохранить в маленьком размере для вывода на странице поиска как иконки - thumbs ...

спасибо заранее за любую помощь.......

Добавлено через 17 часов 33 минуты
тема все еще актуальна.. очень нужно срочно решить этот вопрос..
нашел в инете несколько подобных решений но все они не отвечают тому что мне нужно .. сохраняют изображение в той же директории что и сам скрипт.. мне же нужно в определенно другой папке на сервере...
вот также подобный пример http://webdraft.org/article/save-image-by-url но он не годится...

плиииииииизззз ....прошу помощи..
заранее благодарен...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2013, 15:50
Ответы с готовыми решениями:

Как сохранить изображение gd php в указанную директорию?
Как сохранить изображение gd php в указанную директорию? Собственно это и есть вопрос, подскажите что нибудь.

PHP: fwrite
Есть вот такой скриптик: &lt;?php $amount = 3; $somecontent = &quot;Добавить это к файлу\n&quot;; for ($i = 1; $i &lt;=...

"Сохранить как" изображение генерируемое image.php
есть файл image.php &lt;?php header (&quot;Content-type: image/png&quot;); //функция преобразование текста в картинку function...

11
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
22.03.2013, 15:55
Цитата Сообщение от netsolex Посмотреть сообщение
PHP
1
 $f = fopen($file_name, 'w');//Open file
вы здесь указываете файл в который будете сохранять изображение. укажите в $filename тот путь который вам нужен
0
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
22.03.2013, 16:02
Цитата Сообщение от netsolex Посмотреть сообщение
не вижу где указывается путь для сохранения...
на сколько я понял, он формируется из URL-ки:

Цитата Сообщение от netsolex Посмотреть сообщение
PHP
1
2
$file_name= substr($fileurl, strrpos($fileurl,"/")+1, 
*strlen($fileurl)-strrpos($fileurl,"/")); *//Retrive file name from url
Цитата Сообщение от netsolex Посмотреть сообщение
как изменить во время сохранения сам размер изображения
в первых трех ссылках в результатах запроса можно найти интересующее

чтобы сохранить изображение в нужной вам папке, нужно указать нужную вам папку для сохранения. посмотрите внимательно код
0
 Аватар для netsolex
53 / 53 / 4
Регистрация: 26.05.2011
Сообщений: 379
22.03.2013, 17:32  [ТС]
Цитата Сообщение от casual_visitor Посмотреть сообщение
вы здесь указываете файл в который будете сохранять изображение. укажите в $filename тот путь который вам нужен
нет. $filename это наименование файла который будит сохранен. но никак это не путь для сохранения... на всякий случай проверил подсказку ... ничего правильного нет...

Цитата Сообщение от Koran Посмотреть сообщение
чтобы сохранить изображение в нужной вам папке, нужно указать нужную вам папку для сохранения. посмотрите внимательно код
да. конечно же нужно указать папку для хранения... вопрос где именно указывается в данном вышеуказанном коде... чтобы убрать сомнения папка имеет права на запись 777.. поместил туда это код и там он работает..

вопрос в том что мне нужно его (этот код ) поместить на странице там где идет индексация изображений ... но сохранение этих копий изображений в меньшем размере нужно сохранить совершенно в другой директории..


Цитата Сообщение от Koran Посмотреть сообщение
в первых трех ссылках в результатах запроса можно найти интересующее
спасибо за ссылочки Koran ! довольно уданые примеры..

Добавлено через 4 минуты
пожалуйста кто нибудь попробуйте у себя это вышеуказанный код ....
создайте какую нибудь папку отдельно ..например (./thumbs ) и попробуйте чтобы изображение было сохранено именно в эту папку но не там где сам код находится...

если честно то пролазил уже весь инет и совершенно немогу найти решение.. блин главное казалось бы все просто и срочно мне нужно а здесь такая загвоздка...
0
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
22.03.2013, 17:34
Цитата Сообщение от netsolex Посмотреть сообщение
нет. $filename это наименование файла который будит сохранен. но никак это не путь для сохранения...
тяжелый случай. указать в $filename полный путь - религия не позволяет?
0
 Аватар для netsolex
53 / 53 / 4
Регистрация: 26.05.2011
Сообщений: 379
22.03.2013, 17:50  [ТС]
Цитата Сообщение от casual_visitor Посмотреть сообщение
тяжелый случай. указать в $filename полный путь - религия не позволяет?
сам не верю и не знаю что там не позволяет... но уже тысячу раз перепробовал ни ничего не выходит... толи где-то туплю или уже полностью запутался... если не трудно поменяйте как нужно с примером.. хочу увидеть где же всетаки меняется путь .....

спасибо.
0
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
22.03.2013, 18:18
у меня сохраняет на две директории выше от файла скрипта. На локальном сервере сработает, на веб сервере - должено быть разрешение на запись в эту папку.
PHP
1
2
3
4
5
6
7
8
9
10
11
$fileurl = 'http://thumbs.mi9.com/data/1/4343/mi9com-76496.jpg';
$pos = strrpos($fileurl, '/..'. substr($fileurl, $pos);  //имя файла с путем
echo $file_name;
if ($img = file_get_contents($fileurl)) {//get contents of file
    if ($f = fopen($file_name, 'w')) {
        fwrite($f, $img); //Write File
        fclose($f);
    }else
        die('error');
}else
    die('error get_contents');
блин редактор форума портит правильную строку указания имени файла, попробую по другому сейчас вставить
0
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
22.03.2013, 18:24
Класс брал здесь
Оригинальную картинку сохраняет в images/image.[ext]
Срезайженую картинку сохраняетв thumbs/image.[ext]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
    include('simpleimage.php');
    
    $imageUrl = 'http://habrastorage.org/storage2/e43/d6c/4c0/e43d6c4c0eb9ed6e4e12c299f6b6216a.jpg';
    
    $imageName = 'image.'.pathinfo($imageUrl, PATHINFO_EXTENSION);
    
    $imagePath = 'images/'.$imageName;
    
    file_put_contents($imagePath, file_get_contents($imageUrl));
    
    $image = new SimpleImage();
    $image->load($imagePath);
    $image->resizeToWidth(250);
    $image->save('thumbs/'.$imageName);
1
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
22.03.2013, 18:26
нефига редактор режет код.. нужно жаловаться модерам
скриншот щас дам
0
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
22.03.2013, 18:35
вложил скриншот. вторую строчку кода редактор форума почему-то не пропускает в неиспорченом виде
Миниатюры
fwrite() PHP Function - сохранить изображение с URL  
1
 Аватар для netsolex
53 / 53 / 4
Регистрация: 26.05.2011
Сообщений: 379
23.03.2013, 01:07  [ТС]
ну спасибо огромное парни - casual_visitor , Koran
наконец-то получилось то что было задумано... скажу так первый этап кода...

второй этап этого кода теперь хочу сделать чтобы создавалась директория автоматически по имени домена откуда берется изображение ну и куда будит потом сохраняться изображение в эту директорию...

и третий этап это конечно потом добавить код для оптимизации изображения как по размеру (width) так и по качеству изображения скажем так на 50% quality ..
для того чтобы при чтении на странице иконки читались бы намного быстрее не забирая много ресурсов..

Цитата Сообщение от casual_visitor Посмотреть сообщение
вложил скриншот. вторую строчку кода редактор форума почему-то не пропускает в неиспорченом виде
вот этот код с скриншота прекрасно работает !!! а первый вариант написаннный выше почему то выдает только error и никак не идет . ну неважно.

Koran ваш пример пока еще не рассмотрел хотя вижу что также очень удачный и полезный пример...
хочу вначале рассмотерть ваши ссылки для оптимизации изображения..

всем огромное спасибо !

Добавлено через 1 час 28 минут
добавил функцию оперделения домена с URL

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
function GetDomain($fileurl) 
{ 
global $fileurl;
$nowww = ereg_replace('www\.','',$fileurl); 
$domain = parse_url($nowww); 
if(!empty($domain["host"])) 
  { 
   return $domain["host"]; 
   } else 
   { 
   return $domain["path"]; 
   } 
}
потом добавил создание директории под тем же названием что и сам домен откуда берется изображение..

PHP
1
mkdir(dirname(__FILE__).'/../../../thumbs/'.GetDomain($fileurl).'/', 0777);
теперь после этого создается директория с именем домена и сохраняется в ней изображение..

ВОПРОС:
но заметил что невозможно удалить теперь директорию через FTP если мне это нужно ... то есть что получается что не смотря на то что созданы права 777 на директорию всеравно нельзя ее удалить ?
или же всетаки как-то нужно еще прописать (chown) для нее ?

Добавлено через 28 минут
как и догадался все файлы и папки созданы с правами пользователя --- apache
поэтому и не удаляются... снова в тупик зашел (((
0
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
23.03.2013, 01:29
похоже, у вас права 777 выставлены на директорию, которую вы хотите удалить, а права для родительской директории выставлены с запретом записи остальным
потому и не удаляется
читайте о правах на файлы/директории в UNIX-системах

Не по теме:

если на сервере предусматривается работа множества пользователей, то apache лучше запускать через mpm-itk

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2013, 01:29
Помогаю со студенческими работами здесь

.htaccess: редирект 301 с /url.php на /url (без .php)
Граждане ученые, очередному чайнику требуется помощь в разжевывании и переваривании. Сейчас .htaccess содержит: Методом...

Сохранить/сохранить как изображение
Всем привет. Написал программу, с помощью которой можно рисовать изображения, однако возникла сложность, не получается реализовать команду...

Кроме .txt файла, еще какие файлы можна использовать в операторах php (fopen,fread,fwrite)?
Можем ли работать с файлами, .doc, .xls, .html, .db и.т.д

Скачать изображение по URL
Всем привет. Дело обычное, по url адресу скачать картинку. Тем много, но....как обычно дело дрянь. так вот....вот собственно url...

Получить изображение по url
Мне необходимо получить изображение, его имя соответствует уникальному идентификатору Делаю следующим образом: &lt;img...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru