PHP删除文件,如果存在其他文件

时间:2017-05-20 18:14:31

标签: php html

注意:文件编号只是为了让我更容易参考每个文件

我正在测试一些代码,其中我有一个名为first.txt的文件(文件1)和名为tom-first.php的文件(文件2),文件2文件检查文件1是否存在并设置了变量,然后在我的index.php(文件3)中,我需要文件2,如果变量是1,我重定向到startup.php(文件4)。文件4删除名为text.txt

的文本文件

我的错误是当我运行代码时,无论发生什么,test.txt总是被删除

TOM-first.php

<?php

if (file_exists('first.txt')) {
    $first = '1';
} else {
    $first = '0';
}

echo $first;
?>

的index.php

<?php
require 'tom-first.php';
if($first = '1')
{
    header("Location: startup.php");
}
else
{
    echo 'HI';
}


?>

Startup.php

<?php
unlink('text.txt') 
?>

First.txt为空

我觉得错误与在文件2上设置变量有关,尽管回显$ first显示正确的数字。

任何帮助都表示赞赏,即使是完全不同的方法也是有用的,我基本上试图建立一个系统,它有一个首次使用时运行的设置。

2 个答案:

答案 0 :(得分:1)

index.php 文件中有拼写错误。

PHP中的等式比较运算符是'==',而不是'='。

下面的if语句将值“1”分配给 $ first 变量,并始终计算为“1”。

<强>的index.php

<?php
require 'tom-first.php';
if($first = '1') // this should be $first == '1'
{
    header("Location: startup.php");
}
else
{
    echo 'HI';
}

?>

答案 1 :(得分:0)

使用=进行分配(为变量赋值)。但是==是一个比较运算符。在您的情况下,您正在评估始终为1的{​​{1}}。另一件事是,为什么如此冗长和如此多的文件,如果你可以写:

TRUE

然后其余的。甚至更好......

$first = file_exists('first.txt') ? 1 : 0;

但是...... :) 如果你必须这样做,那就非常smells。 为什么要检查是否存在文件只是为了立即将其删除?