parent
1a1134d974
commit
d2f02f4922
1 changed files with 122 additions and 0 deletions
@ -0,0 +1,122 @@ |
||||
--TEST-- |
||||
File Operations - File read/write, directory operations |
||||
--FILE-- |
||||
<?php |
||||
|
||||
// Test creating a temporary directory |
||||
$tempDir = sys_get_temp_dir() . '/aot_test_' . uniqid(); |
||||
mkdir($tempDir); |
||||
|
||||
// Verify directory was created |
||||
if (is_dir($tempDir)) { |
||||
echo "Directory created: " . $tempDir . "\n"; |
||||
} |
||||
|
||||
// Test creating and writing to a file |
||||
$testFile = $tempDir . '/test.txt'; |
||||
$content = "Hello, World!\nThis is a test file.\n"; |
||||
file_put_contents($testFile, $content); |
||||
|
||||
// Verify file was created and check its content |
||||
if (file_exists($testFile)) { |
||||
echo "File created: " . $testFile . "\n"; |
||||
|
||||
// Read the file content |
||||
$readContent = file_get_contents($testFile); |
||||
echo "File content:\n" . $readContent; |
||||
|
||||
// Check file size |
||||
$fileSize = filesize($testFile); |
||||
echo "File size: " . $fileSize . " bytes\n"; |
||||
} |
||||
|
||||
// Test appending to file |
||||
$appendContent = "Appended line\n"; |
||||
file_put_contents($testFile, $appendContent, FILE_APPEND | LOCK_EX); |
||||
$updatedContent = file_get_contents($testFile); |
||||
echo "Content after append:\n" . $updatedContent; |
||||
|
||||
// Test file reading functions |
||||
$lines = file($testFile, FILE_IGNORE_NEW_LINES); |
||||
echo "Number of lines: " . count($lines) . "\n"; |
||||
|
||||
// Test file permissions |
||||
if (is_readable($testFile)) { |
||||
echo "File is readable\n"; |
||||
} |
||||
if (is_writable($testFile)) { |
||||
echo "File is writable\n"; |
||||
} |
||||
|
||||
// Test directory listing |
||||
$anotherFile = $tempDir . '/second_test.txt'; |
||||
file_put_contents($anotherFile, "Another test file"); |
||||
|
||||
$files = scandir($tempDir); |
||||
echo "Directory contents:\n"; |
||||
foreach ($files as $file) { |
||||
if ($file !== '.' && $file !== '..') { |
||||
echo "- " . $file . "\n"; |
||||
} |
||||
} |
||||
|
||||
// Test file operations with file handles |
||||
$handle = fopen($testFile, 'r'); |
||||
if ($handle) { |
||||
$firstLine = fgets($handle); |
||||
echo "First line from handle: " . trim($firstLine) . "\n"; |
||||
fclose($handle); |
||||
} |
||||
|
||||
// Test file copy |
||||
$copiedFile = $tempDir . '/copied_test.txt'; |
||||
if (copy($testFile, $copiedFile)) { |
||||
echo "File copied to: " . $copiedFile . "\n"; |
||||
} |
||||
|
||||
// Test file move/rename |
||||
$movedFile = $tempDir . '/moved_test.txt'; |
||||
if (rename($copiedFile, $movedFile)) { |
||||
echo "File moved to: " . $movedFile . "\n"; |
||||
} |
||||
|
||||
// Test checking if it's a file or directory |
||||
echo "Is test file a file: " . (is_file($testFile) ? "yes" : "no") . "\n"; |
||||
echo "Is temp dir a directory: " . (is_dir($tempDir) ? "yes" : "no") . "\n"; |
||||
|
||||
// Test getting file modification time |
||||
$modTime = filemtime($testFile); |
||||
echo "File modification time: " . date('Y-m-d H:i:s', $modTime) . "\n"; |
||||
|
||||
// Clean up - remove files and directory |
||||
unlink($testFile); |
||||
unlink($anotherFile); |
||||
unlink($movedFile); |
||||
rmdir($tempDir); |
||||
|
||||
echo "Cleanup completed\n"; |
||||
?> |
||||
--EXPECTF-- |
||||
Directory created: /tmp/aot_test_%s |
||||
File created: /tmp/aot_test_%s/test.txt |
||||
File content: |
||||
Hello, World! |
||||
This is a test file. |
||||
File size: 35 bytes |
||||
Content after append: |
||||
Hello, World! |
||||
This is a test file. |
||||
Appended line |
||||
Number of lines: 3 |
||||
File is readable |
||||
File is writable |
||||
Directory contents: |
||||
- second_test.txt |
||||
- test.txt |
||||
First line from handle: Hello, World! |
||||
File copied to: /tmp/aot_test_%s/copied_test.txt |
||||
File moved to: /tmp/aot_test_%s/moved_test.txt |
||||
Is test file a file: yes |
||||
Is temp dir a directory: yes |
||||
File modification time: %d-%d-%d %d:%d:%d |
||||
Cleanup completed |
||||
Loading…
Reference in new issue