이미지 디렉토리를 스캔하고 800 픽셀 이상의 크기를 조정하는 크론 작업을 작성 중입니다. 나는 또한 이미지가 그날 업로드 되었다면 크기 변경을 입력하기를 원했기 때문에 filemtime()을 사용하려고 시도했지만 1969-12-31을 계속 되돌려 놓았습니다.PHP filemtime() 반환 1969-12-31 - 문제 찾을 수 없습니다.
나는이 문제에서 찾을 수있는 모든 포럼 게시물을 읽었으며 아무 것도 작동하지 않는 것 같습니다. 로컬 WIN 10 머신 (xammplite 사용)과 제 제작 Linux 머신에서 테스트했습니다. 둘 다 PHP 5.3 이상을 사용하고 있으며 동일한 결과를 얻었습니다. 여기
내가 무엇을보고 추가 한 에코와 함께 코드의 일인지 :$files = scandir($_SERVER['DOCUMENT_ROOT'] . '/forum_functions/image_uploads');
$check_date = date('Y-m-d', strtotime('now'));
echo 'check date is ' . $check_date . '<br>';
foreach ($files as $file) {
if ($file != '.' && $file != '..') {
echo 'file date is ' . date('Y-m-d', strtotime(filemtime($_SERVER['DOCUMENT_ROOT'] . "/forum_functions/image_uploads/{$file}"))) . '<br>';
echo 'file is ' . $_SERVER['DOCUMENT_ROOT'] . "/forum_functions/image_uploads/{$file}" . '<br>';
echo 'file exists ' . file_exists($_SERVER['DOCUMENT_ROOT'] . "/forum_functions/image_uploads/{$file}") . '<br>';
if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/forum_functions/image_uploads/{$file}") && $check_date == date('Y-m-d', strtotime(filemtime($_SERVER['DOCUMENT_ROOT'] . "/forum_functions/image_uploads/{$file}")))) {
// do resizing
}
}
}
foreach는 루프 인쇄 1969년 12월 31일의 첫 번째 에코를 모든 이미지
두 번째에 대한 foreach의 echo가 올바르게 경로를 출력합니다.
세 번째 에코는 파일이 존재하면 true를 반환하지만 잘못된 날짜 때문에 if 조건을 입력하지 못합니다.
로그에서 경고를 확인했는데 아무 것도 없으면 폴더 사용 권한을 확인했는데 모두 괜찮습니다.
방금 끝냈습니다! 어쩌면 내 눈이 무언가를 놓치고 있거나 무언가가 일어나고있다. 그래서 나는 약간의 충고를 실제로 사용할 수있다.
대신이 코드를 사용하면 어떻게됩니까? date ("F d YH : i : s. ", filemtime ($ _ SERVER [ 'DOCUMENT_ROOT']."/ forum_functions/image_uploads/{$ file} ")); ' – Hackerman