powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Загрузка рисунков
4 сообщений из 4, страница 1 из 1
(PHP) Загрузка рисунков
    #33529127
HunterWild
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите, плиз, каким способом можно закачать рисунок
с какого-то сервера на свой.
Например: имеется ссылка http://example.com/img/filename.gif
Мне нужно закачать его на свой сервер.
Заранее благодарен.
...
Рейтинг: 0 / 0
(PHP) Загрузка рисунков
    #33529195
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
будьте добры, воспользоваться поиском, обсуждалось раз 100!!
...
Рейтинг: 0 / 0
(PHP) Загрузка рисунков
    #33529200
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воровать контент не хорошо.
...
Рейтинг: 0 / 0
(PHP) Загрузка рисунков
    #33531793
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
if ( $avatar_mode == 'remote' && preg_match('/^(http:\/\/)?([\w\-\.]+)\:?([0-9]*)\/(.*)$/', $avatar_filename, $url_ary) )
        {
                if ( empty($url_ary[ 4 ]) )
                {
                        $error = true;
                        $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['Incomplete_URL'] : $lang['Incomplete_URL'];
                        return;
                }

                $base_get = '/' . $url_ary[ 4 ];
                $port = ( !empty($url_ary[ 3 ]) ) ? $url_ary[ 3 ] :  80 ;

                if ( !($fsock = @fsockopen($url_ary[ 2 ], $port, $errno, $errstr)) )
                {
                        $error = true;
                        $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['No_connection_URL'] : $lang['No_connection_URL'];
                        return;
                }

                @fputs($fsock, "GET $base_get HTTP/1.1\r\n");
                @fputs($fsock, "HOST: " . $url_ary[ 2 ] . "\r\n");
                @fputs($fsock, "Connection: close\r\n\r\n");

                unset($avatar_data);
                while( !@feof($fsock) )
                {
                        $avatar_data .= @fread($fsock, $board_config['avatar_filesize']);
                }
                @fclose($fsock);

                if (!preg_match('#Content-Length\: ([0-9]+)[^ /][\s]+#i', $avatar_data, $file_data1) || !preg_match('#Content-Type\: image/[x\-]*([a-z]+)[\s]+#i', $avatar_data, $file_data2))
                {
                        $error = true;
                        $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['File_no_data'] : $lang['File_no_data'];
                        return;
                }

                $avatar_filesize = $file_data1[ 1 ];
                $avatar_filetype = $file_data2[ 1 ];

                if ( !$error && $avatar_filesize >  0  && $avatar_filesize < $board_config['avatar_filesize'] )
                {
                        $avatar_data = substr($avatar_data, strlen($avatar_data) - $avatar_filesize, $avatar_filesize);

                        $tmp_path = ( !@$ini_val('safe_mode') ) ? '/tmp' : './' . $board_config['avatar_path'] . '/tmp';
                        $tmp_filename = tempnam($tmp_path, uniqid(rand()) . '-');

                        $fptr = @fopen($tmp_filename, 'wb');
                        $bytes_written = @fwrite($fptr, $avatar_data, $avatar_filesize);
                        @fclose($fptr);

                        if ( $bytes_written != $avatar_filesize )
                        {
                                @unlink($tmp_filename);
                                message_die(GENERAL_ERROR, 'Could not write avatar file to local storage. Please contact the board administrator with this message', '', __LINE__, __FILE__);
                        }

                        list($width, $height, $type) = @getimagesize($tmp_filename);
                }
                else
                {
                        $l_avatar_size = sprintf($lang['Avatar_filesize'], round($board_config['avatar_filesize'] /  1024 ));

                        $error = true;
                        $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
                }
        }

Взято из PHPbb 2.0.19.
Файл usercp_avatar.php
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Загрузка рисунков
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]