Отправка письма на e-mail при условии

Gerovich

Новичок
Добрый день. Буду очень благодарен если кто-нибудь подскажет, как отправить письмо на e-mail при отсутствии указанного файла. А вот сам скрипт на проверку наличия файла.
Код:
<?php
$filename = './server/php/doc/Производственный АКТ приема.pdf';
if (file_exists($filename)) {
     echo ' <br><img src= "/images/ok.png" Width="50" Height="60"><br>';
} else {
    echo '<br><img src= "/images/no.png" Width="50" Height="60"><br>';
}
?>
Сейчас он выводит иконки с галочкой, если файл есть и крестиком, если нет. К этому надо добавить отправку письма на почту, если нет, с периодичностью в сутки.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Очень плохо хранить файлы так, как хранишь их ты. Но дело даже не в этом, а в том, что тебе пока рано вообще думать про почту и тд, ты основ не знаешь.
 

Gerovich

Новичок
Очень плохо хранить файлы так, как хранишь их ты. Но дело даже не в этом, а в том, что тебе пока рано вообще думать про почту и тд, ты основ не знаешь.
Сейчас это не суть. Написал отдельный файл который посылает сообщения при условии, но он шлет каждую секунду, мне бы как то ограничит отправкой раз в сутки.
Код:
<?php


$filename = './server/php/doc/Договор купли-продажи.pdf';

if (file_exists($filename)) {
     echo ' ';
}
else {
    mail('[email protected]', 'Тема письма', 'Добавьте договор в базу', 'From: [email protected]');
}


$filename = './server/php/doc/Паспорт транспортного средства.pdf';

if (file_exists($filename)) {
     echo ' ';
}
else {
    mail('[email protected]', 'Тема письма', 'Добавьте паспорт', 'From: [email protected]');
}


$filename = './server/php/doc/Производственный АКТ приема.pdf';

if (file_exists($filename)) {
     echo ' ';
}
else {
    mail('[email protected]', 'Тема письма', 'Добавьте АКТ приема', 'From: [email protected]');
}


?>
Это все на openserver. И пока в темп пишет сообщения каждую секунду если не хватает файла.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Это как раз суть, так как начинать надо с основ и двигаться постепенно. Ты же перепрыгиваешь целые куски.

Почему раз в секунду, как запускаешь?
 

Gerovich

Новичок
Это как раз суть, так как начинать надо с основ и двигаться постепенно. Ты же перепрыгиваешь целые куски.

Почему раз в секунду, как запускаешь?
Да вроде и так двигаюсь постепенно! Просто мне кажется надо учиться на конкретных реальных задачах)) А по данному вопросу, что- никак не пойму почему он не слушает скрипт и выводит чаще чем нужно, сейчас не каждую секунду, но все равно не так, как надо.
JavaScript:
<script type="text/javascript">
function mode() {
    $.ajax({
        url: 'sendmail.php',
        success: function(data) {
            $('#displaym').html(data);
        }
    });
};

setInterval(mode, 120000);
</script>
PHP:
 <div id="displaym">
            
            <?php
            include 'sendmail.php';
            ?>
          
      

</div>
 

ksnk

прохожий
120000 - это 120 секунд.
Чтобы рассылать письма раз в день, и при том не держать открытым броузер годами, нужно почитать про крон, потом поудивляться тому, что он отсутствует на Windows.
Ну а потом, наконец, озвучить ту самую "реальную задачу"
 

Gerovich

Новичок
120000 - это 120 секунд.
Чтобы рассылать письма раз в день, и при том не держать открытым броузер годами, нужно почитать про крон, потом поудивляться тому, что он отсутствует на Windows.
Ну а потом, наконец, озвучить ту самую "реальную задачу"
120000 - это для примера, я в курсе сколько это, он все равно чаще отправляет. Язвить здесь не нужно! Я понимаю, что ты считаешь себя ахтунг профи, воздух только сотрясать не нужно. И про крон я знаю. Что в задаче не понятно, и чем она не реальна, не обязательно идти именно этим путем. Я для того и спрашиваю, что только изучаю php. По сути мне не важно как это будет исполнено, мне нужно что бы в заданный промежуток времени отправлялось сообщение на почту, можно не раз в сутки можно по определенным датам и без запуска браузера, не важно как.
 

ksnk

прохожий
Вообще-то я было хотел сказать, что в openserver есть свой крон, идентичный натуральному, но решил последовать совету топикстартера и не сотрясать воздух.
Планировщик задач плох тем, что при переезде на реальный хостинг навыки работы с ним более не пригодятся.
 
Последнее редактирование:

Gerovich

Новичок
Вообще-то я было хотел сказать, что в openserver есть свой крон, идентичный натуральному, но решил последовать совету топикстартера и не сотрясать воздух.
Планировщик задач плох тем, что при переезде на реальный хостинг навыки работы с ним более не пригодятся.
Фишка в том что мне не нужно переезжать!
 

ksnk

прохожий
Фишка в том что мне не нужно переезжать!
А почта посылается нормально ? Из под windows стандартной функцией mail ?
Если да, то уже есть пара ответов - пользоваться планировщиком или встроенным в openserver кроном, чтобы дергать оправку почты в нужный момент. Все уже есть, ставить дополнительно ничего не придется.
 

Gerovich

Новичок
А почта посылается нормально ? Из под windows стандартной функцией mail ?
Если да, то уже есть пара ответов - пользоваться планировщиком или встроенным в openserver кроном, чтобы дергать оправку почты в нужный момент. Все уже есть, ставить дополнительно ничего не придется.
Почта то нормально отправляется вот этой функцией

mail('[email protected]', 'Тема письма', 'Добавьте АКТ приема', 'From: [email protected]');

, приходит, но очень часто, а скрипт почему то не ограничивает.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Странно почему. Может для начала начнем постепенно все писать? Сначала сделаем скрипт, в нем проверки, настроим крон. В скрипте можно сделать проверку на частоту срабатываний.
 
Сверху