Edit report at https://bugs.php.net/bug.php?id=55195&edit=1
ID: 55195 Comment by: michaelmotes at email dot com Reported by: kedomingo at gmail dot com Summary: PharData::buildFromDirectory does not seem to close the file after archiving Status: Open Type: Bug Package: PHAR related Operating System: Windows 7 Professional 32bit PHP Version: 5.3.6 Block user comment: N Private report: N New Comment: I worked around this bug by simply destroying the phar object, unset($phar). Previous Comments: ------------------------------------------------------------------------ [2011-07-12 22:37:59] kedomingo at gmail dot com Description: ------------ While I can create a file, write to it, close it, and delete it via unlink, I can't delete a file created by the buildFromDirectory function of PharData. I suspect that the file has been left open. Test script: --------------- <?php $file = uniqid().".txt"; /// Demo: Script can create and delete a file (if properly closed) normally if( !($f = fopen($file, 'w')) ) echo "Could not open $file <br />\n"; if( !fwrite($f, 'test') ) echo "Could not write to $file <br />\n"; if( !fclose($f) ) echo "Could not close $file <br />\n"; if( !unlink($file) ) echo "Could not delete $file <br />\n"; if( !is_dir( $dir = dirname(__FILE__) . '/phartest' ) ) { /// Create test directory for PharData mkdir( dirname(__FILE__) . '/phartest' ); for($i = 0; $i < 3; $i++) { $f = fopen($dir . "/file$i.txt", 'w'); fwrite($f, $i); fclose($f); }; } $file2 = uniqid().".zip"; /// Create test archive in the same directory as the demo file $phar = new PharData($file2); if( $phar->buildFromDirectory($dir) ) if(!unlink($file2)) /// Did phar close the file? Can we delete it? echo "Could not delete $file2!"; ?> Expected result: ---------------- I expect that the call to unlink($file2) will delete the newly created archive (with filename $file2) Actual result: -------------- Warning: unlink(<$file2>): Permission denied in C:\htdocs\phartest.php on line 17 Could not delete <$file2>! ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=55195&edit=1