kentuck1213
@kentuck1213

Почему функция time() запущенная в цикле возвращает одно и тоже значение?

Элементарный код:
for ($i = 0; $i < 20; $i++){
            echo time() . '<br>';
        }

Вот что выводит:
74f5e7385fd44bf09f4233c3876a3ba7.png
Версия php7. Почему так произходит ? ведь полжно возвращать разное значение. Проект на локалке.
А вот что я именно хочу сделать:
foreach ($files as $file) {
            $name = time();
            $file->move(public_path('upload/' . $path_name . '/' . $id), $name . '.' . $file->getClientOriginalExtension());
        }
  • Вопрос задан
  • 486 просмотров
Решения вопроса 1
VGrabko
@VGrabko
Golang, Php, Js
1. microtime(true);
2. так делать не надо. Вдруг 2 файла одновременно загрузит. Делай именем хеш файла
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Наслаждайтесь:
for ($i = 0; $i < 20; $i++){
    echo time() . '<br>';
    sleep(1);
}
Ответ написан
miraage
@miraage
Старый прогер
Трудно догадаться, что цикл занимает миллисекунды?
Напишите microtime(true) - зацените разницу.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT) до текущего времени.
Видимо это число не изменилось.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы