Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: fopen/fwrite кодировка
Форумы портала PHP.SU » PHP » Программирование на PHP » fopen/fwrite кодировка

Страниц (1): [1]
 

1. yarilo - 04 Августа, 2009 - 19:09:44 - перейти к сообщению
Столкнулся с такой проблемой. Средствами пхп скачиваю с прямых ссылок картинки, и сохраняю их на диск. При сохранении названия картинок неправильно записываются обнаружилось (пока 2) косяка, вот этот символ " ’ " ( на клавиатуре я его не нашел=))
заменяется на " ’ ", и вместо русских буков крякозябры.

Подскажите как исправить?

Вот кусок кода которым качаю:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. $so = fsockopen("www.logobook.ru", 80, &$errno, &$errstr, 30);
  3.                                    fputs($so,"GET $line[$value] HTTP/1.0\nHOST: www.logobook.ru\n\n");
  4.                                    while(fgets($so,2048)!="\r\n" && !feof($so));
  5.                                    
  6.                                    unset($buf);
  7.                                    while(!feof($so)) $buf.=fread($so,2048);
  8.                                    fclose($so);
  9. bytes."; flush();
  10.                                         $file_name = strtr($line[0], array(
  11.                                                 "\\" => "!_SLL_!",
  12.                                                 "/" => "!_SLR_!",
  13.                                                 ":" => "!_DP_!",
  14.                                                 "*" => "!_S_!",
  15.                                                 "?" => "!_ZV_!",
  16.                                                 "\"" => "!_KV_!",
  17.                                                 "<" => "!_BM_!",
  18.                                                 ">" => "!_BL_!",
  19.                                                 " " => "_"
  20.                                         ));
  21.                                         //echo $iii."__".$line[0]."__".$file_name."<br/>";
  22.                                    $f=fopen(WBS_ROOT_PATH."/test/test/".$file_name.".jpg","wb+");
  23.                                    //echo WBS_ROOT_PATH."/test/test/".$iii.".jpg<br/>";
  24.                                    fwrite($f,$buf,strlen($buf));
  25.                                    fclose($f);
  26.  
2. Nestor - 04 Августа, 2009 - 19:14:49 - перейти к сообщению
А ты удали и не парся.И поищи в инэте ф-цию транслита текста для русских букв.
3. yarilo - 05 Августа, 2009 - 10:36:19 - перейти к сообщению
Ну какбы можно с этим заморочится, но боюсь таких символов может быть еще много. Мне нужно потом чтобы по названию файла можно было выполнить поиск в БД, чтобы загрзуить картинку соответстыующему товару. А если так извращатся то, потом это будет очень проблематично.

Если в php не предусмотрено сохранения файлов с названием русскими буквами, или еще ченить подобным, то скажите пожалуйста. Я буду обдумывать другой алгоритм.
4. Roler - 05 Августа, 2009 - 10:47:47 - перейти к сообщению
Цитата:

Если в php не предусмотрено сохранения файлов с названием русскими буквами, или еще ченить подобным, то скажите пожалуйста. Я буду обдумывать другой алгоритм.

Кириллицу в адресах и именах вообще лучше не юзать. Моё мнение: удаляй все левые символы и транслитерируй.
5. yarilo - 05 Августа, 2009 - 10:51:09 - перейти к сообщению
Спасибо вам.В принципи в голове уже сформировался алгоритм как сделать это без иврашений с заменой символов.

 

Powered by ExBB FM 1.0 RC1