PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (7): « 1 2 [3] 4 5 6 7 »

> Найдено сообщений: 96
ADIOS Отправлено: 21 Января, 2013 - 11:09:38 • Тема: Упаковка файла и отправка его в поток • Форум: Работа с файловой системой и файлами

Ответов: 1
Просмотров: 2296
Вообщем решил проблему...

Убрал поток

PHP:
скопировать код в буфер обмена
  1.  $data = file_get_contents($dir.'/'.$name);            
  2.                        
  3.                                 header('Content-Disposition: attachment; filename='.$archiveName);                    
  4.                                 header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" );
  5.                                 header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" );
  6.                                 header ( "Cache-Control: no-cache, must-revalidate" );
  7.                                 header ( "Pragma: no-cache" );
  8.                                 header ( "Content-Description: PHP Generated ZIP Data" );
  9.                                 print $data;


и добавил функцию которую нашел на этом форуме

PHP:
скопировать код в буфер обмена
  1.  function output_file($file,$name)
  2.  {
  3.  //do something on download abort/finish
  4.  //register_shutdown_function( 'function_name'  );
  5.  if(!file_exists($file))
  6.  die('file not exist!');
  7.  $size = filesize($file);
  8.  $name = rawurldecode($name);
  9.  
  10.  if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
  11.  $UserBrowser = "Opera";
  12.  elseif (ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
  13.  $UserBrowser = "IE";
  14.  else
  15.  $UserBrowser = '';
  16.  
  17.  /// important for download im most browser
  18.  $mime_type = ($UserBrowser == 'IE' || $UserBrowser == 'Opera') ?
  19.   'application/octetstream' : 'application/octet-stream';
  20.  @ob_end_clean(); /// decrease cpu usage extreme
  21.  header('Content-Type: ' . $mime_type);
  22.  header('Content-Disposition: attachment; filename="'.$name.'"');
  23.  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  24.  header('Accept-Ranges: bytes');
  25.  header("Cache-control: private");
  26.  header('Pragma: private');
  27.  
  28.  /////  multipart-download and resume-download
  29.  if(isset($_SERVER['HTTP_RANGE']))
  30.  {
  31.  list($a, $range) = explode("=",$_SERVER['HTTP_RANGE']);
  32.  str_replace($range, "-", $range);
  33.  $size2 = $size-1;
  34.  $new_length = $size-$range;
  35.  header("HTTP/1.1 206 Partial Content");
  36.  header("Content-Length: $new_length");
  37.  header("Content-Range: bytes $range$size2/$size");
  38.  }
  39.  else
  40.  {
  41.  $size2=$size-1;
  42.  header("Content-Length: ".$size);
  43.  }
  44.  $chunksize = 1*(1024*1024);
  45.  $bytes_send = 0;
  46.  if ($file = fopen($file, 'r'))
  47.  {
  48.  if(isset($_SERVER['HTTP_RANGE']))
  49.  fseek($file, $range);
  50.  while(!feof($file) and (connection_status()==0))
  51.  {
  52.  $buffer = fread($file, $chunksize);
  53.  print($buffer);//echo($buffer); // is also possible
  54.  flush();
  55.  $bytes_send += strlen($buffer);
  56.  sleep(1);//// decrease download speed
  57.  }
  58.  fclose($file);
  59.  }
  60.  else
  61.  die('error can not open file');
  62.  if(isset($new_length))
  63.  $size = $new_length;
  64.  die();
  65.  }


Данное решение было к месту.. Спасибо форуму!!!!
ADIOS Отправлено: 19 Января, 2013 - 16:10:02 • Тема: Упаковка файла и отправка его в поток • Форум: Работа с файловой системой и файлами

Ответов: 1
Просмотров: 2296
Всем привет...

Столкнулся с проблемкой..

упаковал файл в zip архив, и отправил поток. Файл скачался, но архив выходит поврежденным...

Вот сама функция

PHP:
скопировать код в буфер обмена
  1.  function puckZip($name,$dir){
  2.  
  3.  
  4.                         $ext = substr($name,strpos($name,'.'),strlen($name)-1);//Определяем расширение файла
  5.                         $newname = basename($name, $ext);
  6.  
  7.                         //создание zip архива
  8.                         $zipArchive = new ZipArchive();
  9.                         //имя файла архива
  10.                         $fileName = $dir."/".$newname.".zip";
  11.                         $archiveName = $newname.".zip";
  12.                        
  13.                         $zipArchive->open($fileName, ZIPARCHIVE::CREATE);
  14.  
  15.                         $zipArchive->addFile($dir.'/'.$name, $name);
  16.                        
  17.                         //закрываем архив
  18.                         $zipArchive->close();
  19.        
  20.                                 $data = file_get_contents($dir.'/'.$name);             
  21.                        
  22.                                 header('Content-Disposition: attachment; filename='.$archiveName);                     
  23.                                 header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" );
  24.                                 header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" );
  25.                                 header ( "Cache-Control: no-cache, must-revalidate" );
  26.                                 header ( "Pragma: no-cache" );
  27.                                 header ( "Content-Description: PHP Generated ZIP Data" );
  28.                                 print $data;
  29.                
  30.  
  31.                         unlink($fileName);
  32.  }


Если оставить архив на сервере, то он рабочий и распаковывается, скорей всего дело в потоке... А вот где ошибка понять не могу...
ADIOS Отправлено: 19 Октября, 2012 - 11:24:38 • Тема: Обрезка строки до последнего слова • Форум: Вопросы новичков

Ответов: 5
Просмотров: 212
armancho7777777 пишет:
Или:
PHP:
скопировать код в буфер обмена
  1.  
  2. $str = 'http://my_site.com/folder/images/';
  3. $new_str = preg_replace('~.+/([^/]+)/?$~', '$1', $str);
  4.  


или.... хороший вариант... Спасибо
ADIOS Отправлено: 19 Октября, 2012 - 11:08:30 • Тема: Обрезка строки до последнего слова • Форум: Вопросы новичков

Ответов: 5
Просмотров: 212
Всем привет!

Есть строка к примеру http://my_site[dot]com/folder/images/

Не под скажите как из этой строки оставить только images
ADIOS Отправлено: 23 Апреля, 2012 - 09:43:46 • Тема: Замена текста • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 67
Panoptik пишет:
чего будет несколько?


смайлов... Пользователь может выбрать и один смайл, три или десять...
ADIOS Отправлено: 23 Апреля, 2012 - 08:16:21 • Тема: Замена текста • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 67
[quote=Panoptik][/quote]

)))) а если их будет не сколько.... Радость
ADIOS Отправлено: 22 Апреля, 2012 - 15:09:43 • Тема: Замена текста • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 67
А вот если будет два смайлика, то два имени в один тэг картинки пихает... (((
ADIOS Отправлено: 22 Апреля, 2012 - 14:15:04 • Тема: Замена текста • Форум: Напишите за меня, пожалуйста

Ответов: 6
Просмотров: 67
Всем привет!

Есть такая задача. Гостевая книга к примеру. Пользователь выбирает смайл Белоснежная улыбка и отправляет обработчику. Задача вытащить из кавычек слово smile1, а затем заменить его на графику. Слово в кавычках является именем графического файла...

Вроде как то не сложно, но что то не выходит...

само слово smile1 я смогу заменить на графический файл, а вот как избавится от :: ... ::
ADIOS Отправлено: 12 Апреля, 2012 - 18:53:02 • Тема: Вывод размер в КБ, МБ, ГБ • Форум: Пользовательские функции

Ответов: 7
Просмотров: 5747
PHP:
скопировать код в буфер обмена
  1. function format_size($size){
  2.      $metrics[0] = 'байт';
  3.      $metrics[1] = 'KB';
  4.      $metrics[2] = 'MB';
  5.      $metrics[3] = 'GB';
  6.      $metrics[4] = 'TB';
  7.      $metric = 0;
  8.      while(floor($size/1024) > 0){
  9.          ++$metric;
  10.          $size /= 1024;
  11.      }
  12.      $ret =  round($size,1)." ".(isset($metrics[$metric])?$metrics[$metric]:'??');
  13.      return $ret;
  14.  }


а так еще проще
ADIOS Отправлено: 10 Апреля, 2012 - 10:29:09 • Тема: Класс для работы с zip-архивами • Форум: Пользовательские функции

Ответов: 22
Просмотров: 7203
функция zip_open() работает с php 5.3.0 и выше...
ADIOS Отправлено: 09 Апреля, 2012 - 18:17:19 • Тема: Класс для работы с zip-архивами • Форум: Пользовательские функции

Ответов: 22
Просмотров: 7203
Всем привет...

Проблемка с функцией

Fatal error: Call to undefined function zip_open() in .....

хотя в phpinfo ZLib Support enabled...

Может кто подскажет в чем трабл?!
ADIOS Отправлено: 09 Апреля, 2012 - 17:13:24 • Тема: Call to undefined function zip_open() in • Форум: Если скрипт не работает

Ответов: 1
Просмотров: 2203
Всем привет...

Проблемка с функцией

Fatal error: Call to undefined function zip_open() in .....

хотя в phpinfo ZLib Support enabled...

Может кто подскажет в чем трабл?!
ADIOS Отправлено: 09 Февраля, 2012 - 05:11:49 • Тема: Проблема с DNS • Форум: Администрирование *nix

Ответов: 4
Просмотров: 1853
Viper пишет:
можете скрин привести с панели управления DNS?


Все заработало... Проблема была в записи А у регистратора
ADIOS Отправлено: 07 Февраля, 2012 - 16:20:33 • Тема: Проблема с DNS • Форум: Администрирование *nix

Ответов: 4
Просмотров: 1853
Viper пишет:
Так пинайте вашего хостера если вы говорите что A-запись правильно прописана у вас.


Так в том и дело что пинаю их без конца, а у них видите все норм.

Так вот и хотелось узнать в чем собственно проблема и как ее можно решить
ADIOS Отправлено: 07 Февраля, 2012 - 11:26:50 • Тема: Проблема с DNS • Форум: Администрирование *nix

Ответов: 4
Просмотров: 1853
Всем привет.

Дело в том что сайт переехал на новый хостинг (это не первый переезд все работает отлично) у регистратор сменил dns сервера на ns1.***.ru и ns2.****.ru. После смены имен dns прошло 2-3 дня. Но сайт так и не работает.

Проверить настройки домена на www[dot]russiancpanel[dot]com/dnscheck.php и выдает следующее:

Домен: ****.ru
NS-записи, полученные из реестра доменов: NS2.****.RU
NS1.****.RU
Опрашиваю эти серверы: NS2.***.RU (Ip adress): FAIL
Ошибка: Этот сервер не содержит записей о ***.ru (хотя на сервере запись присутствует)

NS1.***.RU (Ip adress): Ответ получен
****.ru: Ip adress
www.*****.ru: Ip adress

Ошибка: Не все из вышеперечисленных серверов доменных имён (NS) вернули A-записи домена ****.ru.
A-запись должна содержать IP адрес, соответствующий имени peihudei.ru. Вы должны установить правильную A-запись для ****.ru, а также отдельную A или CNAME запись для www.***.ru. Это можно сделать в панели управления DNS. Если вы регистрировали домен ****.ru у хостера, или же вы используете его DNS серверы — тогда свяжитесь с поддержкой хостинга.


Из-за возникших ошибок проверка была прервана. Пожалуйста, устраните описанные выше проблемы и выполните тестирование повторно.

Помогите где и как можно исправить эти ошибки

Страниц (7): « 1 2 [3] 4 5 6 7 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB