PHP hafta içi günleri bulmak

1) PHP ile belirli günden önceki ilk hafta içi gün ve son hafta içi günü bulmak.
2) PHP ile belirli günden önceki Tüm hafta içi günleri bulmak.
3) PHP ile belirli günden önceki Tüm hafta sonu günleri bulmak.


Fonksiyonun kullanımı hakkında (weekday fonksiyonu en altadır.):

  • $total_before_day: Kaç günden önceki hafta içi günleri bulmak istiyoruz.
  • $response_type: sonuc nasıl dönmesini istiyorsak aşağıdaki typelardan birini kulanırız. respose type belirtmesek varsayılan olarak first_and_end_day değerini alır.
    • first_and_end_day: Başlangıç ve bitişdeki hafta içi günü döner.
    • all_weekday: Tüm hafta içi günleri döner.
    • all_weekend: Tüm hafta sonu günleri döner.
  • $sort: Dönen tarih değerini sıralamak için kullanılır.Değer belirtmek isek ASC (küçükten büyüğe) geçmişten günümüze göre sıralar.
    • ASC: Geçmiş tarihten en yakın tarihe göre sıralar (küçükten büyüğe göre).
    • DESC: Yakın tarihten geçmiş tarihe göre sıralar (büyükten küçüğe göre).


ÖRNEK KULLANIMI:
1 ) 10 gün önceki hafta içi başlangıç tarihi ve son tarihi döner.
Varsayılan olarak  $response_type = 'first_and_end_day' değerini alır.
Varsayılan olarak  $sort = 'ASC' değerini alır.

Çalışma Tarih :03.05.2020
$response = weekday(10);
var_dump($response);

SONUC:
array(2) {
  [0]=>
  string(10) "2020-04-20"
  [1]=>
  string(10) "2020-05-01"
}

2 ) 15 gün önceki, tüm hafta içi günleri getir , (DESC) Yakın tarihten uzak tarihe göre.

Çalışma Tarih :03.05.2020
$response = weekday(15,'all_weekday','DESC');
var_dump($response);


SONUC:
array(15) {
  [0]=>
  string(10) "2020-05-01"
  [1]=>
  string(10) "2020-04-30"
  [2]=>
  string(10) "2020-04-29"
  [3]=>
  string(10) "2020-04-28"
  [4]=>
  string(10) "2020-04-27"
  [5]=>
  string(10) "2020-04-24"
  [6]=>
  string(10) "2020-04-23"
  [7]=>
  string(10) "2020-04-22"
  [8]=>
  string(10) "2020-04-21"
  [9]=>
  string(10) "2020-04-20"
  [10]=>
  string(10) "2020-04-17"
  [11]=>
  string(10) "2020-04-16"
  [12]=>
  string(10) "2020-04-15"
  [13]=>
  string(10) "2020-04-14"
  [14]=>
  string(10) "2020-04-13"
}

3 ) 20 gün önceki, tüm hafta sonu günleri getir , (ASC) Uzak tarihten yakın tarihe göre

Çalışma Tarih :03.05.2020
$response = weekday(20,'all_weekend','ASC');
var_dump($response);

SONUC:
array(8) {
  [0]=>
  string(10) "2020-04-11"
  [1]=>
  string(10) "2020-04-12"
  [2]=>
  string(10) "2020-04-18"
  [3]=>
  string(10) "2020-04-19"
  [4]=>
  string(10) "2020-04-25"
  [5]=>
  string(10) "2020-04-26"
  [6]=>
  string(10) "2020-05-02"
  [7]=>
  string(10) "2020-05-03"
}

FONKSİYON :


function weekday($total_before_day,$response_type='first_and_end_day',$sort='ASC'){
    $day_count         = $total_before_day;
    $all_weekday_count = 0;

    for($i = 0$i<$day_count$i++){
        $date_decrease = date('Y-m-d'strtotime(-$i." day"));

        if($i == 0){
            echo $date_decrease = date('Y-m-d');
        }

        $name_of_day   = date('D'strtotime($date_decrease));



        if($name_of_day == 'Sat' OR $name_of_day == 'Sun'){
            $day_count++;
        }

        if$response_type == 'first_and_end_day'){
            if($i == 0){
                if($name_of_day == 'Sat'){
                    $date_decrease = date('Y-m-d'strtotime("-1 day"));
                }
                else if($name_of_day == 'Sun'){
                    $date_decrease = date('Y-m-d'strtotime("-2 day"));
                }
                $data_arr[0] = $date_decrease;
            }
            else if($i == $day_count-1){
                if($name_of_day == 'Sat'){
                    $end_day       = $i+1;
                    $date_decrease = date('Y-m-d'strtotime(-$end_day." day"));
                }
                else if($name_of_day == 'Sun'){
                    $end_day       = $i+2;
                    $date_decrease = date('Y-m-d'strtotime(-$end_day." day"));
                }
                $data_arr[1] = $date_decrease;
            }
        }
        else if($response_type == 'all_weekday'){
            if($name_of_day != 'Sat' AND $name_of_day != 'Sun'){
                $data_arr[$all_weekday_count] = $date_decrease;
                $all_weekday_count++;
            }
        }
        else if($response_type == 'all_weekend' AND ($name_of_day == 'Sat' OR $name_of_day == 'Sun')){
            $data_arr[$all_weekday_count] = $date_decrease;
            $all_weekday_count++;
        }
    }
    if($sort == 'DESC'){
        usort($data_arr);
    }
    else{
        sort($data_arr);
    }
    
    return $data_arr;
}

Timer 30 saniye bekletme JS

Burrona tıklandıktan etkinliştirilsin (button disable) 30 saniye sonra aktifleştirilsin (30 secend timer  button enable) javascript kodu.

<script>
    var timeLeft = 30;
    var elem = document.getElementById('btn_list');
    var timerId = setInterval(countdown1000);

function countdown() {
    if (timeLeft == -1) {
        clearTimeout(timerId);
        doSomething();
    } else {
        $("#btn_list").prop("disabled"true);
        elem.innerHTML = 'Yeni işlem için  'timeLeft + 'sn bekleyiniz';
        timeLeft--;

    }
}

function doSomething() {
    $("#btn_list").prop("disabled"false);
    elem.innerHTML = 'Listele';
}
</script>

PHP fpdf




php fpdf ,pdf edit ,example,
download link https://drive.google.com/open?id=1XNyIs-RKFLmG-0f5CE43nwRgIq558GTt



<?php

use setasign\Fpdi\Fpdi;
use setasign\Fpdi\PdfReader;
require('PDF/fpdf.php');
require('PDF/fpdi/src/autoload.php');

$pdf = new Fpdi();
$pageCount = $pdf->setSourceFile("a.pdf");
$pageId = $pdf->importPage(1, PdfReader\PageBoundaries::MEDIA_BOX);

$pdf->addPage();
$pdf->useImportedPage($pageId101090);
$pdf->SetFont('Arial','',14);
$pdf->SetTextColor(0,0,255);
$pdf->SetFont('','U');
$pdf -> SetY(100); 
$pdf -> SetX(100); 
$pdf->Cell(100,50,'TEST');

$pdf->Output();

?>