我正在寻找一种允许文件上传的方法,而不是将文件写入Web服务器上的磁盘,我想将二进制内容存储在变量中。我找到了一个实际执行上传的简单示例,但我找不到阻止写入文件的方法,而是将其保存在内存中。
是否可以这样做,如果是这样的话?
<?php
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
答案 0 :(得分:0)
如果您只需要为php运行时上传文件,那么
$uploadfile = file_get_contents($_FILES['userfile']['tmp_name']);
稍后如果你需要将它存储在MySQL数据库中,你可以随时做&#39; addslashes()&#39;它。