Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 9

Можно ли убрать функцию fseek или же отключить warning об ошибке ?

25.09.2012, 18:52. Показов 1845. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сайт на движке dle находится на VDS в Москве, фтп сервер в красноярске, чтобы файлы качались с моего фтп, что в Красноярске, я изменил строчку
Code
1
define ( 'FILE_DIR', 'ftp://95.188.79.129/' );
в download.php , файлы стали скачиваться но перестали запускаться.

провел эксперимент с текстовым файлом. В итоге в него добавилось следующее
Code
1
Warning: fseek(): stream does not support seeking in /var/www/pg/data/www/playgrad.ru/engine/classes/download.class.php on line 103
тобишь эта ошибка добавляется в каждый файл, поэтому после скачки они становятся недоступны, но сама структура текстового файла целая и невредимая, все содержание на месте!

Поэтому прошу Вас подсказать, теоретически возможно ли отвязать (отказаться) от файла download.class.php точнее функции fseek чтобы она не добавляла варнинг в файлы ? Если бы у меня получилось, я безвозмездно выложил в паблик отличный хак для тех, у кого файловый сервер находится в другом месте, нежели сайт!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.09.2012, 18:52
Ответы с готовыми решениями:

Где можно отключить автоматическую перезагрузку при ошибке?
напомните пожалуйста где отключить автоматический перезагруз при ошибке, забыл блин весь мозг сломал уже =)

Как отключить или убрать иконку выхода [x] ?
Как отключить или убрать иконку выхода ? В интернете нарыл много информации и на просторах киберфорума тоже, но она мне никак не...

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

3
1 / 1 / 0
Регистрация: 31.03.2011
Сообщений: 9
26.09.2012, 14:38
Попробуй добавить перед fseek символ @ чтобы подавить вывод ошибки:
@fseek()
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
26.09.2012, 14:46

Не по теме:

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


saizar, весь код покажите, так сложно что то определенное сказать..
0
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 9
26.09.2012, 14:58  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение

Не по теме:

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


saizar, весь код покажите, так сложно что то определенное сказать..

я ради эксперимента вообще убрал fseek( $handle, $range ); вроде помогло но сомневаюсь что это верное решение


PHP
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 http://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004,2012 SoftNews Media Group
=====================================================
 Данный код защищен авторскими правами
=====================================================
 Файл: download.class.php
-----------------------------------------------------
 Назначение: Скачивание файлов
=====================================================
*/
 
class download {
    
    var $properties = array ('old_name' => "", 'new_name' => "", 'type' => "", 'size' => "", 'resume' => "", 'max_speed' => "" );
    
    var $range = 0;
    
    function download($path, $name = "", $resume = 0, $max_speed = 0) {
        
        $name = ($name == "") ? substr( strrchr( "/" . $path, "/" ), 1 ) : $name;
        $name = explode( "/", $name );
        $name = end( $name );
        
        $file_size = @filesize( $path );
        
        $this->properties = array ('old_name' => $path, 'new_name' => $name, 'type' => "application/force-download", 'size' => $file_size, 'resume' => $resume, 'max_speed' => $max_speed );
        
        if( $this->properties['resume'] ) {
            
            if( isset( $_SERVER['HTTP_RANGE'] ) ) {
                
                $this->range = $_SERVER['HTTP_RANGE'];
                $this->range = str_replace( "bytes=", "", $this->range );
                $this->range = str_replace( "-", "", $this->range );
            
            } else {
                
                $this->range = 0;
            
            }
            
            if( $this->range > $this->properties['size'] ) $this->range = 0;
        
        } else {
            
            $this->range = 0;
        
        }
    
    }
    
    function download_file() {
        
        if( $this->range ) {
            header( $_SERVER['SERVER_PROTOCOL'] . " 206 Partial Content" );
        } else {
            header( $_SERVER['SERVER_PROTOCOL'] . " 200 OK" );
        }
        
        header( "Pragma: public" );
        header( "Expires: 0" );
        header( "Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
        header( "Cache-Control: private", false);
        header( "Content-Type: " . $this->properties['type'] );
        header( 'Content-Disposition: attachment; filename="' . $this->properties['new_name'] . '";' );
        header( "Content-Transfer-Encoding: binary" );
        
        if( $this->properties['resume'] ) header( "Accept-Ranges: bytes" );
        
        if( $this->range ) {
            
            header( "Content-Range: bytes {$this->range}-" . ($this->properties['size'] - 1) . "/" . $this->properties['size'] );
            header( "Content-Length: " . ($this->properties['size'] - $this->range) );
        
        } else {
            
            header( "Content-Length: " . $this->properties['size'] );
        
        }
 
        header("Connection: close");
        
        @ini_set( 'max_execution_time', 0 );
        @set_time_limit();
        
        $this->_download( $this->properties['old_name'], $this->range );
    }
    
    function _download($filename, $range = 0) {
        
        @ob_end_clean();
        
        if( ($speed = $this->properties['max_speed']) > 0 ) $sleep_time = (8 / $speed) * 1e6;
        else $sleep_time = 0;
        
        $handle = fopen( $filename, 'rb' );
        
        
        if( $handle === false ) {
            return false;
        }
        
        while ( ! feof( $handle ) ) {
            print( fread( $handle, 1024 * 8 ) );
            ob_flush();
            flush();
            usleep( $sleep_time );
        }
        
        fclose( $handle );
        
        return true;
    }
 
}
 
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2012, 14:58
Помогаю со студенческими работами здесь

Можно ли как-то изменить или отключить политику безопасной загрузки?
Здравствуйте! Запускаю командную строку от имени администратора... Пытаюсь выполнить команду bcdedit -set TESTSIGNING ON... Получаю...

Переделать процедуру, используя функцию fseek
нужно процедуру void get_file_content(const char *str1, char *&amp;str2) { FILE *dscr=fopen(str1,&quot;r&quot;); - открытие файла для чтения ...

Как убрать или отключить поддержку "JMicron SATA AHCI"?
Здравствуйте! Можно ли из установленной, модифицированной сборки Windows XP, убрать или отключить поддержку &quot;JMicron SATA...

Как отключить сообщения об ошибке?
Здравствуйте. Подскажите как отключить сообщения об ошибке при обновлении-отправке веб-запроса из Excel. У меня циклический алгоритм. ...

Прочитать заданные элементы массива используя функцию fseek
Задать массив целых чисел размерностью 9, записать его в файл на диске, прочитать из него в переменные значения второго, пятого и восьмого...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru