On 2/16/06, tedd <tedd@xxxxxxxxxxxx> wrote:
However, after given it some thought, I would imagine that one could
get a unique generated string, create a file with that string, give
the file the correct permissions, then pull the image from the dB and
save, do image processing, and then reload the image into a web page,
and delete the file without any conflict. I can envision lot's of
users doing that simultaneously without problems. BUT, I haven't
tried it yet!
I have used a user's IP address (dots removed) and microtime appended
to create a unique file name. The target directory is world writable.
Not the most elegant solution... I found that sometimes the file had
not been written yet and trying to display it on a page right away
resulted in file not found...
--
Gerry
Gerry:
Above, I said that I haven't tried it yet, but I just finished the
code and it works well enough, I think. The technique is pretty
simple -- just create a tmp directory with 777 permissions and then
run this code.
<?php
$token = md5(uniqid(1));
$token .= ".txt";
$filename = "tmp/$token";
$contents = "This is the content of the file.";
echo("<hr><br/>Writing file <br/><br/>");
$file = fopen( $filename, "w" );
fwrite( $file, $contents);
fclose( $file );
if( file_exists( $filename ) )
{
$file_length = filesize( $filename );
echo("File created at $filename<br/> ");
echo( "File size: $file_length bytes<br/>");
echo( "<br/>$contents<br/>" );
}
else
{
echo( "<br/>Unable to create file<br/>" );
}
echo("<hr><br/>Reading file:<br/><br/>");
$filesize = filesize($filename);
$file = fopen( $filename, "r" );
$text = fread( $file, $filesize );
fclose( $file );
echo( "File read at: $filename<br/> ");
echo( "File Size: $filesize bytes<br/>" );
echo( "<br/>$text<br/>" );
echo("<hr><br/>Deleting file <br/>");
$return = unlink($filename);
if($return)
{
echo("<br/>Successful delete of: $filename<br/>");
}
else
{
echo("<br/>Failed to delete of: $filename<br/>");
}
?>
--
--------------------------------------------------------------------------------
http://sperling.com/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php