-
Notifications
You must be signed in to change notification settings - Fork 0
/
weather.php
88 lines (66 loc) · 2.19 KB
/
weather.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/php -q
<?php
## la fonction prend un moment de la journée : matin, aprem ou journee
## et renvoie OK si il ne pleut pas pendant ce moment la ou KO sinon.
function getMeteo ($ladate, $moment,$ville){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "api.openweathermap.org/data/2.5/forecast?q=$ville&APPID=29a2cb0ddcd0c77e45de399ebf790b9e");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$data = curl_exec($ch);
curl_close($ch);
$rep = json_decode ($data);
$case_error = $rep->message;
if (!strcmp ($case_error,"city not found")){
return $case_error;
}
$heure_tmp = '';
# par soucis de simplification nous considerons que la météo du matin est donnée par celle de 9h00 renvoyée par l'api
# et que celle de l'après-midi est donnée par la météo de 15h00 renvoyée par l'api
switch ($moment){
case 'matin':
$heure_tmp ="09:00:00";
break;
case 'aprem':
$heure_tmp= "15:00:00";
break;
}
$date_tmp=$ladate . " ". $heure_tmp;
if (!strcmp($moment,"matin") or !strcmp($moment,"aprem")){
foreach ($rep->list as $journee ){
if(!strcmp($journee->dt_txt,$date_tmp)){
# echo "matin ou aprem";
# echo $journee->weather[0]->main;
if (!strcmp($journee->weather[0]->main,"Rain")){
return "KO";
}else {
return "OK";
}
}
}
## dans le cas ou le demande de la prévision concerne la journée entiere
## la fonction renvoie KO si il pleut aumoins le matin ou l'apres-midi sinon OK
}else if (!strcmp($moment,"journee")){
$date_tmp=$ladate." "."09:00:00";
foreach ($rep->list as $journee ){
if(!strcmp($journee->dt_txt,$date_tmp)){
$meteo= $journee->weather[0]->main;
}
}
$date_tmp=$ladate." "."15:00:00";
foreach ($rep->list as $journee ){
if(!strcmp($journee->dt_txt,$date_tmp)){
$meteo.= $journee->weather[0]->main;
}
}
#echo "********$meteo********";
if (stripos($meteo,"Rain")===false){
return "OK";
}else{
return "KO";
}
}
}
#$tmp=getMeteo ("2018-03-30","journee","Paris");
#echo "======$tmp=======";
?>