Je ne sais pas pourquoi filetime me donne la mauvaise date. Quelqu'un a des suggestions?

for($i=0;$i<$image_count;$i++){                         //Setup file names and file types
    $temp_name = $target_dir . basename($_FILES["fileToUpload"]["name"][$i]);
    $temp_thumb_name = $thumb_target_dir . basename($_FILES["fileToUpload"]["name"][$i]);
    $temp_type = pathinfo($temp_name,PATHINFO_EXTENSION);
    array_push($target_file, $temp_name);               // Create array of file names
    array_push($target_file_thumb, $temp_thumb_name);   //Create array of thumb path names
    array_push($imageFileType, $temp_type);             //Create array of fileextensions
    echo "<BR>was last modified: " . date ("F d Y H:i:s.", filemtime(basename($_FILES["fileToUpload"]["name"][$i])));
    array_push($file_creation, date ("F d Y H:i:s.", filemtime(basename($_FILES["fileToUpload"]["name"][$i]))));
}

Production

was last modified: January 01 1970 01:00:00.

Journal des erreurs

PHP Warning:  filemtime(): stat failed for DSC07292.jpg
0
David Jack 4 août 2017 à 19:14

2 réponses

Je pense que le problème est dans le chemin, essayez ceci:

array_push($file_creation, date ("F d Y H:i:s.", filemtime($temp_name)));
0
Abderrahim Soubai-Elidrisi 4 août 2017 à 16:43

La raison pour laquelle vous obtenez la sortie 1970 à une heure est que vous êtes dans un fuseau horaire (maintenant) qui est plus d'une heure par rapport à GMT.
Ce qui se passe, c'est que filemtime ne trouve pas le fichier ou quelque chose d'autre ne va pas, mais très probablement une erreur de chemin.
Filemtime renvoie false.

Date lit le faux comme 0. Date regarde la date dans l'heure UNIX 0 qui est minuit 1970.

Votre fuseau horaire ajoute 1 heure.

La sortie est une heure après minuit.

Je peux parier que mon bras gauche est une erreur de chemin ou que le fichier n'existe pas sur lequel vous essayez filemtime.

Assurez-vous que votre tableau est correct et que le fichier est réellement stocké dans basename () ou webroot. (Très douteux à ce sujet).
Si ce n'est pas dans webroot, vous devez ajouter le chemin dans le fichier filemtime () comme:.

date ("F d Y H:i:s.", filemtime("THE PATH" . basename ($_FILES["fileToUpload"]["name"][$i])));

Le chemin peut également nécessiter un /.

Modifier:
Je vois maintenant que vous avez donné le chemin dans les commentaires à l'autre réponse.

Essaye ça:

date ("F d Y H:i:s.", filemtime($_SERVER["DOCUMENT_ROOT"]  . "/uploads/1/" . basename ($_FILES["fileToUpload"]["name"][$i])));
0
Andreas 4 août 2017 à 17:18