2013-04-24 2 views
0

저는 php/mysql에서 매우 새로 왔습니다. 모든 곳에서 검색을 한 후 : 내 고객이 저에게 하나의 txt 파일을 제공했습니다. 이제는 자주 실행되는 스크립트가 필요하므로 txt 새로운 데이터 파일이 실행되고 동시에 데이터베이스가 업데이트됩니다.특정 시간에 PHP FILE을 실행하고 데이터베이스 필드를 자동으로 업데이트하는 방법

내가 읽은 옵션 중 하나는 Cron이지만 클라이언트는이 솔루션을 거부하므로 PHP (또는 가능한 경우 아약스 또는 jquery) 기반 솔루션 만 사용할 수 있습니다. 지금까지

내 코드 :

<?php 
$string = file_get_contents("mytest.php/test1.txt", "r"); 
$myFile = "E:/path/test.txt"; 
$fh = fopen($myFile, 'w') or die("could not open: .mysql_error()); 
fwrite($fh,$string); 
fclose($fh); 

// Here is the connection file 
$sql=mysql_connect("localhost","root",""); 
if(!$sql) { 
    die("couldnotconnect:", . mysql_error()); 
} 
mysql_select_db("timer"); // databse name 
$result=mysql_query("LOADDATAINFILE'$myFile'" ."INTOTABLEchangedtFieldsTERMINATEDBY''"); 
if (!$result) { 
    die("couldnotload . " . mysql_error()); 
} 
?> 

는하지만이 코드가 제대로 작동하지 않습니다. 당신은 반드시 예약 된 작업/CRON 필요하지 않습니다

Database Field: 

Name (varchar 250) 
LastModification timestamp 
+4

지정된 시간에 PHP 파일을 실행하기 위해 cron 작업을 사용하십시오. –

+0

고맙습니다 만 cron 하루 종일 사용할 수 없지만 클라이언트가 PHP 만 사용해야한다는 것을 부인했습니다. 그렇지 않으면 할 수 있습니다. 가능한 경우 아약스 또는 jquery 함께, 어쨌든 내 질문을 검토해 주셔서 감사합니다. –

+1

코드 태그에만 코드를 입력하십시오. Crontab은 실제로이 작업을 수행하는 유일한 방법입니다. –

답변

0

웹 서버에서 실행되는 : 난 그냥처럼 내 데이터베이스를 업데이트 할를 통해 기본적으로 또 다른 텍스트 파일. 웹 서버에 PHP 파일을 가질 수 있으며 (HTTP GET 또는 SSH 터미널을 통해) PHP 스크립트를 호출 한 다른 컴퓨터에 예약 된 작업 또는 cron 스크립트가있어 문제가 해결 될 수 있습니다.

중복성을 위해 두 개의 다른 클라이언트에서이 호출을 예약하고 PHP 스크립트가 매일 한 번만 실행되도록하기 위해 플래그 (해당 날짜)를 true로 설정할 수도 있습니다.

나는 데이터베이스 행, 파일의 값 또는 그 밖의 다른 방법으로 그날 해당 스크립트가 인지 확인하는 것을 의미합니다.

+0

실제로 내가 자주 실행하는 스크립트가 필요합니다. 어느 날 한 번에 여러 번 실행하지 말아야합니다. –

+0

일부 사람이 AJAX 나 JQUERY로 나를 도울 수 있다면 정말 좋습니다. 그런데도이 코드를 찾으려면 계속 힘을 쓰십시오 –

+0

@ Prerak Dave 모든 대문자 잠금을 사용하는 것은 잘못된 예절입니다. –

1

귀하의 고객은 cron이이 문제에 대한 올바른 해결책임을 이해해야합니다. 스크립트를 정기적으로 실행해야하는 경우 cron을 사용하여이를 수행 할 수 있습니다.

당신이 그를 설득 할 수 없다면 두 가지 다른 덜 최적의 옵션이 있습니다. 첫 번째는 종료하지 않고 항상 스크립트 run을 만드는 것입니다. 일정 시간 동안 잠자기 상태가되고, 일어나고, 현재 시간이 예정된 실행 시간과 일치하는지 확인한 다음 그에 따라 행동합니다.

두 번째는 온라인 예약 서비스를 사용하여 지정된 시간에 HTTP 요청을 통해 스크립트를 실행하는 것입니다. 온라인 스케줄링 서비스는 cron을 사용하지만 클라이언트는이를 알 필요가 없습니다.

관련 문제