Bonjour,

Dans le cadre d'un projet que j'effectue, je cherche à "locker" un ficher en lecture/écriture pour pouvoir mettre un autre script qui essayerait d'y accéder en "attente".

Pour tester tout cas, j'exécute une petite page en multithreaning avec CURL qui tente tous d'accéder a un fichier pour l'incrémenté. Hors c'est justement là que sa coince.

Voici ce que j'ai tenté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function flood() {
	while (1) {
		if ((($handle = fopen("count.txt","r+")) === false) OR !flock($handle, LOCK_EX)) {
			if (!file_exists("count.txt")) file_put_contents("count.txt","");
		usleep(200000); // sleep 0.2 sec
		continue;
		}
		$content = "";
		while (!feof($handle)) $content .= fread($handle,200);
		fseek($handle,0);
		sleep(5);
		$content = $content + 1;
		fwrite($handle,$content);
		fclose($handle);
		return;
	}
}
flood();
hors en l'exécutant 500 fois en multithreaning ... j'obtiens 11

Merci encore pour tout aide.

Cdt,
Tsukasa.