1--TEST-- 2Test fopen() for write CP1251 to UTF-8 path 3--SKIPIF-- 4<?php 5include dirname(__FILE__) . DIRECTORY_SEPARATOR . "util.inc"; 6 7skip_if_not_win(); 8if (getenv("SKIP_SLOW_TESTS")) die("skip slow test"); 9skip_if_no_required_exts(); 10 11?> 12--FILE-- 13<?php 14/* 15#vim: set fileencoding=cp1251 16#vim: set encoding=cp1251 17*/ 18 19include dirname(__FILE__) . DIRECTORY_SEPARATOR . "util.inc"; 20 21$item = iconv('cp1251', 'utf-8', "������"); // cp1251 string 22$prefix = create_data("file_cp1251", $item . "7"); 23$fn = $prefix . DIRECTORY_SEPARATOR . "${item}7"; 24 25$f = fopen($fn, 'w'); 26if ($f) { 27 var_dump($f, fwrite($f, "writing to an mb filename")); 28 var_dump(fclose($f)); 29} else { 30 echo "open utf8 failed\n"; 31} 32 33var_dump(file_get_contents($fn)); 34 35get_basename_with_cp($fn, 65001); 36 37var_dump(unlink($fn)); 38remove_data("file_cp1251"); 39 40?> 41===DONE=== 42--EXPECTF-- 43resource(%d) of type (stream) 44int(25) 45bool(true) 46string(25) "writing to an mb filename" 47Active code page: 65001 48getting basename of %s\привет7 49string(13) "привет7" 50bool(true) 51string(%d) "%s\привет7" 52Active code page: %d 53bool(true) 54===DONE=== 55