我有这样的情况:
tmpfile()
函数进行了临时保存)tmpfile()
功能,因为上传的文件是临时文件,因此将被自动删除通过系统。...问题在步骤4.2中,导致用tmpfile()生成的文件在脚本结束后被删除。所以我不能将其移动到目录中。
在PHP中将文件从Form-1“传播”到Form-N的最佳方法是什么?
我认为使用file_get_contents()可以是一种使用隐藏的textarea在每个页面上传递它的解决方案...但是对于大文件,我不知道这是一个好主意。
小段代码:
page-2.php
<?php
if ( isset($_POST['action']) && $_POST['action'] == "import" ) {
if (file_exists($_FILES['fileXMLimport']['tmp_name']) || is_uploaded_file($_FILES['fileXMLimport']['tmp_name'])) {
$content = file_get_contents($_FILES['fileXMLimport']['tmp_name']);
$filename = $_FILES['fileXMLimport']['name'];
}
//omitted: code to read the file xml
//$f1 = "data readed from file";
//
}
?>
<body>
<form id="form2">
<input type="text" name="f1" value="<?php echo $f1; ?>">
<input type="text" name="f2" value="<?php echo $f2; ?>">
...list of field readed from file
<input type="text" name="fn" value="<?php echo $fn; ?>">
<textarea class="hidden" name="fileContent"><?php echo base64_encode($content); ?></textarea>
<input type="hidden" name="fileName" value="<?php echo $filename; ?>">
<input type="submit" value="Submit and save file">
</form>