hi uhm ik ben zoals somigge van jullie weten al paar dagen/ weken bezig met mijn script te verbeteren
Dit gaat goede kant op, ook al ben ik soms eigenwijs en doe het vaak op eigen manier :P
nu heb ik een simpele vraag
ik kom hier uiteindelijk zelf ook wel achter denk ik maar ik stel hem ook maar even hier misschien vind ik dan sneller en een betere oplossing
ik heb een functie die checked of er een map bestaat en zoniet dan maakt hij deze aan
PS: let even niet op of het wel goed is enz
hij werkt en daar ben ik blij mee
function checkcachefolder($folder,$accountid,$jaar,$maand,$id) {
if (!file_exists(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/user/'.$id.''))
{
mkdir(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/user/'.$id.'', 0777, true);
}
}
nu wil ik deze uitbreiden naar ook een datum, maar alleen als dit nodig is.
Nu vroeg ik mij af of ik dan gewoon $datum kan toevoegen of moet je die dan ook gebruiken?
aangezien ik ook delen heb waar ik geen datum wil
ik kan bv een $datum = true toevoegen ofzo maar is dit echt nodig of kan ik gewoon die datum niet meegeven en dat hij deze dan ook niet gebruikt?
Ja ken in functies ook een standaard waarde gebruiken:
<?php
function checkcachefolder($folder, $accountid, $id, $jaar=NULL,$maand=NULL) {
// doe wat
}
?>
In dit geval hoef je $jaar en $maand niet verplicht in te vullen als 4e en 5e argument.
Let wel erop dat ik hier $id op de 3e plaats heb gezet, anders moet je een lege parameter meegeven voor de 4e en de 5e.
Waarom zie ik steeds ''. aan het begin van een string en .'' aan het eind?
Deze zijn leeg en dus zinloos.
Gewoon weglaten.
file_exists(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/user/'.$id.'')
Wordt dan:
file_exists($folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/user/'.$id)
Ik zie het wel eens vaker.
Dan vraag ik me af: Zet er dan ook wel eens iemand lege flessen in de koelkast als ze op zijn? Anyway, dit is geen aanval op de topicstarter.
haha ja daar val ik ook wel eens over waarom wel waarom niet
ga ik je gelijk uitleggen,
ik heb in verleden wel eens codes moeten veranderen en als ik dus niet begon met die '. dan werkte de code soms niet
daarnaast als ik snel knipte en plakte dan was '..' even snel overal plaatsen beter dan hetzelfde en dan de eerste en laatste nog een keer aanpassen
het is dus meer een luiheid iets dan een reden ervoor :P
[size=xsmall]Toevoeging op 21/03/2020 21:04:37:[/size]
ok uhm het zal er een beetje raar uitzien maar weet ff geen goed manier om anders te doen en dit werkt :P
wil ff weten wat jullie ervan vinden
function checkcachefolder($folder,$accountid,$jaar,$maand,$id,$datum=NULL) {
if($datum != NULL) {
if ($id == 9999) {
$sql_cache = "SELECT datum_invoer FROM systeem_invoertotaal WHERE account='$accountid' AND id_user='9999' AND invoer_over='$datum' ORDER BY datum_invoer DESC limit 1";
$result_cache = $db->sql_query($sql_cache) or die(mysqli_error());
while($cache = mysqli_fetch_assoc($result_cache)){
$cachetime = $cache[datum_invoer];
}
$sql_datum = ''.$cachetime.'';
$file_datum = date('Y-m-d H:i:s', filemtime(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/users/'.$id.'/'.$datum.''));
if (file_exists(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/users/'.$id.'/'.$datum.'') && $sql_datum > $file_datum ) {
unlink(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/users/'.$id.'/'.$datum.'');
//sql is nieuwer
}
elseif (file_exists(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/users/'.$id.'/'.$datum.'') && $sql_datum < $file_datum ) {
include(''.$cachefolder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/users/'.$id.'/'.$datum.'');
//sql is ouder
}
else {
echo 'error include cache';
exit;
}
} else {
include(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'users/'.$id.'/'.$datum.'');
}
}
elseif (!file_exists(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/users/'.$id.''))
{
mkdir(''.$folder.'/'.$accountid.'/'.$jaar.'/'.$maand.'/users/'.$id.'', 0777, true);
}
else
{
echo 'error include cache';
}
}
ja die is ook onzin maar op elke andere manier die ik weet krijg ik andere output
soms goed soms niet
en dus had ik dit gedaan om er zeker van te zijn dat ik geen verkeerde info krijg