Hello,
Il y a peu j'ai une grande quantité d'images (~10'000) qui ont perdu leur date de modification. Conséquence, c'est un enfer de les trier manuellement, mais heureusement elles possèdent la date dans leur nom (sous forme IMG-YYYYMMDD).
J'ai donc voulu utiliser la fonction touch ( https://www.php.net/manual/fr/function.touch.php ) qui semble avoir des soucis sur Windows. Cependant je suis en version de PHP 7, donc ça devrait fonctionner. 
Voilà mon bout de code (dégueulasse hein, mais détails
)
<?php
/* This script is used to edit datetime of files */
/* You need a subfolder called "folder" to put your files into */
$files = scandir('folder');
$i = count($files);
$e = 0;
foreach($files as $file) {
if (preg_match("/IMG\-[0-9]{8}\-.*/", $file)) {
$date = explode("-", $file)[1];
$val = strtotime($date);
echo $val . " ( " . $date . " )<br>";
echo touch( __DIR__ . '/' . $file, $val, $val) ? "ok <br>" : "ko <br>";
var_dump( stat($file)) . "<br>";
}
else {
$e++;
}
}
echo "Il y a $i fichiers, dont $e n'ont pas été modifiés";
Pourtant quand je regarde mon var_dump, il m'indique que ctime et atime sont modifiés, mais rien ne s'affiche sur mon Windows. 
var_dump : https://puu.sh/DiSeD/5c7d68c7a1.png (avec en haut le comparatif timestamp / date)
Display Windows : https://puu.sh/DiSiI/98fdd73580.png
A partir de là, est-ce qu'il y a des alternatives à cette fonction touch ? Ou bien il faut que j'aille installer un Ubuntu en machine virtuelle pour le plaisir de lancer un script de 10 lignes ? 