Я пытаюсь создать скрипт, который будет пересылать файлы с одного сервера на другой. Мой скрипт успешно это делает, а также проверяет, есть ли в файле что-то или нет. Мой следующий шаг - проверить, существует ли файл на сервере; если файл уже существует, он не отправляется, а если он не существует, он отправляет.
Я пробовал несколько разных вещей и, похоже, не могу обойти это. Как я могу получить его, чтобы проверить, существует ли файл уже или нет? Любая помощь будет оценена!
(Я посмотрел на некоторые похожие вопросы, но не смог найти ничего конкретного для моей проблемы.)
require('constants.php');
$files = $sftp->nlist('out/');
foreach($files as $file) {
if(basename((string) $file)) {
if(strpos($file,".") > 1) { //Checks if file
$filesize = $sftp->size('out/'.$file); //gets filesize
if($filesize > 1){
if (file_exists('import/'.$file)){
echo $file.' already exists';
}
else {
$sftp->get('out/'.$file, 'import/'.$file); //Sends file over
//$sftp->delete('out/'.$file); //Deletes file from out folder
}
else {
echo $file. ' is empty.</br>';
}
}
}
}
}
РЕДАКТИРОВАТЬ: Чтобы попытаться заставить это работать, я написал следующее заявление if, чтобы увидеть, находил ли он файл test.php;
if (file_exists('test.txt')){
echo 'True';
} else {
echo 'False';
}
Это вернуло true (хорошее начало), но как только я вставил это в свой код, я просто получил 500 Internal Server Error (крайне бесполезно). Я не могу включить ошибки, так как это на сервере, который используют несколько человек.
Я также попытался изменить строку file_exists на;
if (file_exists('test.txt'))
в надежде, что это сработает, но все еще не сработает.
Просто чтобы уточнить, я отправляю файлы с удаленного сервера на мой локальный сервер.