【发布时间】:2015-07-23 22:02:55
【问题描述】:
如果文件夹中已存在文件,我想覆盖该文件。这是我的代码:
index.php
<form action="check.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit" value="upload">Upload</button>
</form>
检查.php
if(isset($_FILES['file'])) {
$file = $_FILES['file'];
$target_file = 'files/'.basename($_FILES["file"]["name"]);
if (file_exists($target_file)) {
echo "File already exist";
echo "<form action='overwrite.php' method='post'>
<button type='submit'> Overwrite</button>
</form>";
}
}
覆盖.php
move_uploaded_file($_FILES["file"]["tmp_name"], $target_file);
echo "The file is overwritten";
更新:我的问题有误。现在我改变了它。在 check.php 上应该只有语句“文件已经存在”和一个指向 overwrite.php 并覆盖文件的按钮。 (没有第二个输入字段)
【问题讨论】:
-
overwrite.php 中的全局变量
$_FILES为空。 -
检查您的脚本是否有权覆盖该文件。或者,创建一个唯一的字符串作为文件名,以避免此问题。
标签: php