关于函数flock()的锁定问题!!!
a.php
<code>$file3=fopen('a.txt','r+'); if(flock($file3,LOCK_EX+LOCK_NB)) { fwrite($file3,$_GET['s']) ; sleep(5); flock($file3,LOCK_UN); } else{ echo "文件锁定,不可写入内容!"; } </code>
b.php
<code>$file2=fopen('a.txt','r+'); fwrite($file2,$_GET['s']) ; echo fread($file2,filesize('a.txt')); fclose($file2);</code>
先执行a.php时利用5秒间隔执行b.php
按理说由于a.php已经锁定,所以b.php,
无法写入,老师的视屏也是如此进行的
但是,我却不能和老师的一样运行,
结果依然是b.php写入的内容,a.php,并没有
锁定成功。
在下发现一个问题:就是我不能像视频里的老师一样利用间隔执行另一个脚本;
实际情况是:执行a.php完全结束后,才会在执行b.php。(前提是先刷新a.php,再刷新b.php)
我不清楚为什么会这样,请大家指教!
回复内容:
a.php
<code>$file3=fopen('a.txt','r+'); if(flock($file3,LOCK_EX+LOCK_NB)) { fwrite($file3,$_GET['s']) ; sleep(5); flock($file3,LOCK_UN); } else{ echo "文件锁定,不可写入内容!"; } </code>
b.php
<code>$file2=fopen('a.txt','r+'); fwrite($file2,$_GET['s']) ; echo fread($file2,filesize('a.txt')); fclose($file2);</code>
先执行a.php时利用5秒间隔执行b.php
按理说由于a.php已经锁定,所以b.php,
无法写入,老师的视屏也是如此进行的
但是,我却不能和老师的一样运行,
结果依然是b.php写入的内容,a.php,并没有
锁定成功。
在下发现一个问题:就是我不能像视频里的老师一样利用间隔执行另一个脚本;
实际情况是:执行a.php完全结束后,才会在执行b.php。(前提是先刷新a.php,再刷新b.php)
我不清楚为什么会这样,请大家指教!
PHP supports a portable way of locking complete files in an advisory
way (which means all accessing programs have to use the same way of
locking or it will not work). By default, this function will block
until the requested lock is acquired; this may be controlled with the
LOCK_NB option documented below.
advisory lock - 你需要在 a.php 和 b.php 都调用flock()

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
