Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с Импортом файлов
 
 автор: LEM   (30.10.2006 в 16:00)   письмо автору
 
 

Нужно загрузить файл с указанного URL но ограничить размер 500kb
я делаю так:
$maxsize = (1024*500);
$fp = fopen('http://'.$url,'r');
$data = fread($fp,$maxsize);
if(!feof($fp)) exit("Файл слишком большой"); 

   
 
 автор: LEM   (30.10.2006 в 16:04)   письмо автору
 
   для: LEM   (30.10.2006 в 16:00)
 

Но всегда пишет что файл большой.
Может есть другие способы ?
А то я видимо не доконца понимаю работу fread :)

   
 
 автор: Trianon   (30.10.2006 в 16:10)   письмо автору
 
   для: LEM   (30.10.2006 в 16:04)
 

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

   
 
 автор: cheops   (30.10.2006 в 16:15)   письмо автору
 
   для: LEM   (30.10.2006 в 16:00)
 

Хм... так он у вас всегда сначала файла будет читать вам следует использовать конструкцию
<?php
$maxsize 
500
$i 0;
$data "";
$fp fopen('http://'.$url,'r'); 
while(!
feof($fp))
{
  
$data .= fread($fp,1024); 
  
$i++;
  if(
$maxsize $i) break;
}
?>

После того, как загрузили первый кусок, загружайте второй
<?php
$begin 
500
$end 1000;
$i 0;
$data "";
$fp fopen('http://'.$url,'r'); 
while(!
feof($fp))
{
   
$buffer fread($fp,1024); ;
   if(
$i $begincountinue;
  
$data .= $buffer;
  
$i++;
  if(
$end $i) break;
}
?>

   
 
 автор: LEM   (30.10.2006 в 16:51)   письмо автору
 
   для: cheops   (30.10.2006 в 16:15)
 

В смысле второй кусок?
И $end=1000; это что?
P.S.: max filesize 500kb.
А другие способы есть? с помощью ini_set низя?

   
 
 автор: Trianon   (30.10.2006 в 17:51)   письмо автору
 
   для: LEM   (30.10.2006 в 16:51)
 

upload_max_filesize

http://www.php.net/manual/ru/features.file-upload.php

   
 
 автор: LEM   (30.10.2006 в 20:24)   письмо автору
 
   для: Trianon   (30.10.2006 в 17:51)
 

Эта директива для ограничения размера upload

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования