所以我有4页。它们非常简单。
index.php (作品)
<html>
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br />
<input type="submit" value="Now upload it!">
</form>
</html>upload.php (作品)
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
echo 'Are you sure you want to continue saving this file';
echo '<a href="yes.php">Yes, continue</a>
<br />
<br />
<a href="no.php">No thanks</a>'
}
?>no.php (作品)
<?php
echo 'Thanks anyway';
?>yes.php (错误)
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
echo 'We will now save this document:';
//Save document code
}
?>yes的输出:
Notice: Undefined index: file in /home/public_html/test/yes.php on line 2 Invalid file
We will now save this document:?如你所见,我从来不保存它。但我想将其保存在yes.php页面中。是否仍可以检索已上载原始文档?提前谢谢。
发布于 2012-03-30 12:42:41
上传的文件仅适用于单个PHP实例/请求周期。
上传的文件存储在temp目录中。如果脚本执行结束时它们仍然存在,PHP将假定您不需要它们,将其删除。
如果你想持久化这个文件,你必须在上传文件的同一个请求中把它移到其他地方。
发布于 2012-03-30 12:41:30
您正在尝试将文件从表单传递到不同的页面,而不是预期的页面。post值将不再有效。我建议将会话中的文件保存到一个临时文件夹中,并从那里通过$_GET[]或upload.php变量将其传递给yes或no页面。
在no.php页面上,您将获取该文件并使用
unlink($somefile);这将从您的服务器中删除该文件。
在yes.php页面上,我会移动或复制文件。如果您复制该文件,我将使用unlink来删除临时文件。
发布于 2012-03-30 12:41:36
您可以尝试使用move_uploaded_file()临时保存文件,然后使用
<a href="yes.php?filename=tmp_file_path">Yes, continue</a>
<a href="no.php?filename=tmp_file_path">No thanks</a>然后使用以下命令检索yes.php中的文件名
$tmpFile = $_GET["filename"];unlink($_GET["filename"]);https://stackoverflow.com/questions/9937036
复制相似问题