import zend standard tests
[hiphop-php.git] / hphp / test / zend / good / ext-standard-file / file_put_contents_variation7.php
bloba21d1b3eae672dbacf07d40f1a1d9dbb19a435b2
1 <?php
2 /* Prototype : int file_put_contents(string file, mixed data [, int flags [, resource context]])
3 * Description: Write/Create a file with contents data and return the number of bytes written
4 * Source code: ext/standard/file.c
5 * Alias to functions:
6 */
8 echo "*** Testing file_put_contents() : usage variation ***\n";
10 $mainDir = "filePutContentsVar7.dir";
11 $subDir = "filePutContentsVar7Sub";
12 $absMainDir = dirname(__FILE__)."/".$mainDir;
13 mkdir($absMainDir);
14 $absSubDir = $absMainDir."/".$subDir;
15 mkdir($absSubDir);
17 $old_dir_path = getcwd();
18 chdir(dirname(__FILE__));
21 // Note invalid dirs in p8 result in (The system cannot find the path specified.)
22 // rather than No Such File or Directory in php.net
23 $allDirs = array(
24 // absolute paths
25 "$absSubDir/",
26 "$absSubDir/../".$subDir,
27 "$absSubDir//.././".$subDir,
28 "$absSubDir/../../".$mainDir."/./".$subDir,
29 "$absSubDir/..///".$subDir."//..//../".$subDir,
30 "$absSubDir/BADDIR",
32 // relative paths
33 $mainDir."/".$subDir,
34 $mainDir."//".$subDir,
35 $mainDir."///".$subDir,
36 "./".$mainDir."/../".$mainDir."/".$subDir,
37 "BADDIR",
41 $filename = 'FileGetContentsVar7.tmp';
42 $absFile = $absSubDir.'/'.$filename;
43 $data = "This was the written data";
45 for($i = 0; $i<count($allDirs); $i++) {
46 $j = $i+1;
47 $dir = $allDirs[$i];
48 echo "\n-- Iteration $j --\n";
49 $res = file_put_contents($dir."/".$filename, ($data + $i));
50 if ($res !== false) {
51 $in = file_get_contents($absFile);
52 if ($in == ($data + $i)) {
53 echo "Data written correctly\n";
55 else {
56 echo "Data not written correctly or to correct place\n";
58 unlink($dir."/".$filename);
60 else {
61 echo "No data written\n";
66 chdir($old_dir_path);
67 rmdir($absSubDir);
68 rmdir($absMainDir);
70 echo "\n*** Done ***\n";