【问题标题】:If condition in checking file exist PHP [duplicate]如果检查文件中的条件存在PHP [重复]
【发布时间】:2020-05-23 03:31:11
【问题描述】:

我有这个 php 代码:

$controlNum = '0111111';
$path = 'http://00.000.00:0000/Files/';

$version1 = '201909R14';
$version2 = '201909R16';

$path1 = $path.'/'.$controlNum.'/FIRST/MY%20DATA/'.$controlNum.'-FOR%20RECEIPT%20(with%20copy)%20FINAL%20DATA/'.$controlNum.'-'.$version1.'.txt' ; // declare exact path of the data
$path2 = $path.'/'.$controlNum.'/FIRST/MY%20DATA/'.$controlNum.'-FOR%20RECEIPT%20(with%20copy)%20FINAL%20DATA/'.$controlNum.'-'.$version2.'.txt' ; // declare exact path of the data    

if (fopen($path1, "r")) {
    echo 'FILE FOUND ';
}
    if(fopen($path2, "r")){
        echo 'FILE FOUND ';
    }else{
        echo 'FILE NOT FOUND ';
}

它给出这样的输出:

FILE FOUND FILE NOT FOUND

但我想要的只是输出FILE FOUNDFILE NOT FOUND

如果第一个条件为假,它不能回显,它必须进入第二个 if 条件。

我怎样才能做到这一点?对不起这个问题,但我还在学习..

【问题讨论】:

标签: php if-statement


【解决方案1】:

如果您只想检查文件是否存在,您应该改用file_exists。我认为您想要的是同时检查两个文件,例如

if (file_exists($path1) && file_exists($path2)) {
    echo 'FILE FOUND';
}
else {
    echo 'FILE NOT FOUND';
}

如果您只需要其中一个存在,只需将&& 更改为||

if (file_exists($path1) || file_exists($path2)) {
    echo 'FILE FOUND';
}
else {
    echo 'FILE NOT FOUND';
}

【讨论】:

  • file_exists 不知何故对我不起作用......但谢谢这就是我想要的:)
  • @Gexxxx 这很奇怪。好吧,您可以随时替换 fopen...
  • 请更积极地关闭重复项。 @Nick 你不是新来的,你知道这些基本问题已经在其他地方得到了很好的回答。如果您出于某种未知原因需要更多的独角兽积分,也许可以在 Meta 上询问应用正确副本后获得的代表积分。通过回答这些问题,系统认为 OP 的问题“很好”——但它们代表了多余的内容。
  • @mickmackusa OPs 的问题是确定文件是否存在,他们的问题是实施正确的逻辑以仅输出一条消息,具体取决于一个或两个文件是否存在.注意问题:It gives an OUTPUT like this : FILE FOUND FILE NOT FOUND But what I want is to only output either FILE FOUND and FILE NOT FOUND only
  • 所以它还需要一个副本,以便用 or 编写一个两部分的条件?来吧尼克。我们也没有这样的骗局?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-22
  • 2019-08-08
  • 2012-03-17
  • 1970-01-01
  • 2015-11-06
  • 1970-01-01
  • 2017-11-22
相关资源
最近更新 更多