1--TEST-- 2Test fopen() for write big5 to UTF-8 path 3--SKIPIF-- 4<?php 5include __DIR__ . 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--CONFLICTS-- 13file_big5 14--FILE-- 15<?php 16/* 17#vim: set fileencoding=big5 18#vim: set encoding=big5 19*/ 20 21include __DIR__ . DIRECTORY_SEPARATOR . "util.inc"; 22 23$item = iconv('big5', 'utf-8', "���զh�r�`���|"); // BIG5 string 24$prefix = create_data("file_big5", $item . "25"); 25$fn = $prefix . DIRECTORY_SEPARATOR . "{$item}25"; 26 27$f = fopen($fn, 'w'); 28if ($f) { 29 var_dump($f, fwrite($f, "writing to an mb filename")); 30 var_dump(fclose($f)); 31} else { 32 echo "open utf8 failed\n"; 33} 34 35var_dump(file_get_contents($fn)); 36 37get_basename_with_cp($fn, 65001); 38 39var_dump(unlink($fn)); 40 41remove_data("file_big5"); 42 43?> 44--EXPECTF-- 45resource(%d) of type (stream) 46int(25) 47bool(true) 48string(25) "writing to an mb filename" 49Active code page: 65001 50getting basename of %s\測試多字節路徑25 51string(23) "測試多字節路徑25" 52bool(true) 53string(%d) "%s\測試多字節路徑25" 54Active code page: %d 55bool(true) 56