1--TEST-- 2Test fopen() for write cp936 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(); 10skip_if_wrong_cp(936, "oem"); 11 12?> 13--CONFLICTS-- 14file_cp936 15--INI-- 16default_charset=cp936 17--FILE-- 18<?php 19/* 20#vim: set fileencoding=cp936 21#vim: set encoding=cp936 22*/ 23 24include __DIR__ . DIRECTORY_SEPARATOR . "util.inc"; 25 26$item = "�yԇ���ֹ�·��"; // cp936 string 27$prefix = create_data("file_cp936", $item . "25", 936); 28$fn = $prefix . DIRECTORY_SEPARATOR . "{$item}25"; 29 30$f = fopen($fn, 'w'); 31if ($f) { 32 var_dump($f, fwrite($f, "writing to an mb filename")); 33 var_dump(fclose($f)); 34} else { 35 echo "open utf8 failed\n"; 36} 37 38var_dump(file_get_contents($fn)); 39 40get_basename_with_cp($fn, 936); 41 42var_dump(unlink($fn)); 43 44remove_data("file_cp936"); 45 46?> 47--EXPECTF-- 48resource(%d) of type (stream) 49int(25) 50bool(true) 51string(25) "writing to an mb filename" 52Active code page: 936 53getting basename of %s\�yԇ���ֹ�·��25 54string(%d) "�yԇ���ֹ�·��25" 55bool(true) 56string(%d) "%s\�yԇ���ֹ�·��25" 57Active code page: %d 58bool(true) 59