PHP 스크립트를 변환하여 CSV 파일을 읽고 에코를 여러 번 반환합니다.
P粉127901279
2023-08-06 19:24:52
<p>저는 CSV 파일을 읽고 시간과 날짜를 기준으로 웹사이트에 결과 라디오 일정을 게시하는 PHP 스크립트를 작성했습니다. 그러나 두 번 출시될 것으로 보입니다. <br /><br />다음은 스크립트 내용입니다:</p><p><br /></p>
<pre class="brush:php;toolbar:false;"><?php
// 1단계: 'data.csv'를 CSV 파일의 경로로 바꿉니다.
$csvFile = '일정.csv';
// 2단계: CSV를 읽고 해당 내용을 배열에 저장합니다.
if (($handle = fopen($csvFile, 'r')) !== false) {
$csv데이터 = [];
while (($data = fgetcsv($handle)) !== false) {
$csvData[] = $데이터;
}
fclose($handle);
} 또 다른 {
die("CSV 파일을 여는 중 오류가 발생했습니다.");
}
// 3단계: 현재 날짜와 시간 가져오기
$currentDay = date('l'); // l은 날짜의 전체 텍스트 표현을 제공합니다(예: "월요일")
$currentHour = date('H'); // H는 24시간 형식으로 시간을 제공합니다(예: 오후 1시는 "13").
// 아래에서 시간 오프셋을 조정합니다.
$Hour = $currentHour+1;
// 4단계: 현재 날짜와 시간을 기준으로 배열 필터링
$filteredData = [];
foreach($csvData를 $row로) {
// CSV 파일에 "Day" 열과 "Time" 열이 있다고 가정합니다.
$일 = $행[0];
$time = intval($row[1]);
$program_name= $행[2];
$program_when= $row[2];
$program_img= $행[4];
// 행이 현재 날짜 및 시간과 일치하는지 확인합니다.
if ($day === $currentDay && $Hour >= $time) {
$filteredData[] = $행;
}
}
// 5단계: 각 행에 대한 CSS 클래스를 사용하여 필터링된 데이터를 표시합니다.
if (count($filteredData) > 0) {
foreach($filteredData를 $row로) {
echo "<div class='row'>";
echo "<div class='col-5'>";
echo "<img src='$row[4]' 너비='90' 높이='90' 테두리='0'>";
echo "</div>";
echo "<div class='col-7'>";
echo "
$row[2]
$row[3]
";
echo "</div>";
echo "</div>";
}
} 또 다른 {
echo '사용할 수 없습니다.';
}</pre>
<p>이것은 CSV 파일에서 테스트한 데이터입니다. </p>
<pre class="brush:php;toolbar:false;">12월 12일 금요일, 오후 1시까지top_mmv.png
금요일 13시,MMV,오후 2시까지top_mmv.png
금요일 14시,MMV,오후 3시까지top_mmv.png
금요일 15시 MMV, 오후 4시까지 top_mmv.png</pre>
<p>하지만 금요일 오후 2시가 되면 오후 1시와 오후 2시 행이 모두 게시됩니다. 내가 뭘 잘못했나요? </p>
데이터 수집 조건을 지정해야 합니다.
으아아아예를 들어 현재 시간은 14시입니다(1시간을 추가하면 조정 가능).
$시간 >= $time
으아아아어디가 문제인지 알 수 있을 것 같습니다.