如果存在name.jpg的文件,请执行A else

时间:2016-09-08 22:16:48

标签: php file variables if-statement

我需要开发一个小的PHP脚本,我可以从一个cron作业运行,在伪代码中执行以下操作:

//THIS IS PSEUDO CODE
If(file exists with name 'day.jpg')
    rename it to 'fixtures.jpg'
else
    copy 'master.jpg' to 'fixtures.jpg'

day.jpg应该是当月的当天。

我开始用我非常确定如何做的东西替换伪代码:

<?php

    if(FILE EXISTS WITH NAME DAY.JPG) {
        rename ("DAY.JPG", "fixtures.jpg");
    } else {
        copy ("master.jpg", "fixtures.jpg");
    }

?>

显然仍有一些事情缺失。就像我需要获取当月的文件名,我需要检查文件是否存在。

我想我需要做这样的$filename='date('j');'.jpg来获取文件名,但它并没有真正起作用,所以我需要一些帮助。另外我真的不知道如何检查文件是否存在?

2 个答案:

答案 0 :(得分:1)

$path = __DIR__; // define path here
$fileName = sprintf("%s%d.jpg", $path, date("j"));
$fixtures = $path . DIRECTORY_SEPARATOR . "fixtures.jpg";
$master   = $path . DIRECTORY_SEPARATOR . "master.jpg";

file_exists($fileName) ? rename($fileName, $fixtures) : copy($master, $fixtures);

基本上你需要像上面这样的脚本,但你需要在你的道路上工作。您上面的代码有语法问题。

答案 1 :(得分:-1)

你有一个基本的语法问题,它应该是:

$filename = date('j') . '.jpg';

你没有把函数调用放在引号内,你需要在文字字符串'.jpg'周围加引号,你需要使用.来连接它们。

我建议你阅读PHP教程中关于字符串的章节。