<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// -------------------------------------------</span></span><span>
</span><span><span class="hljs-comment">// So verwenden Sie es, bevor Sie externe Dateien lesen ctype_cntrl Kontrollzeichen überprüfen,vermeiden file_get_contents Es ist ein Fehler aufgetreten?</span></span><span>
</span><span><span class="hljs-comment">// -------------------------------------------</span></span><span>
</span><span><span class="hljs-comment">// existieren PHP Mitte,file_get_contents Es ist eine häufige Funktion, um Dateiinhalte zu lesen,Aber wenn die Datei einige Steuerzeichen enthält,Eine unerwartete Situation oder ein unerwarteter Fehler kann während des Lesevorgangs auftreten。</span></span><span>
</span><span><span class="hljs-comment">// 为了vermeiden这种问题,可以existieren读取文件前,Zuerst verwenden ctype_cntrl Funktion prüft, ob der Dateiinhalt Steuerzeichen enthält,Daher Prozess oder Filter,Stellen Sie die Stabilität des Programms sicher。</span></span><span>
</span><span><span class="hljs-comment">// Was sind Kontrollfiguren?</span></span><span>
</span><span><span class="hljs-comment">// Der Kontrollcharakter bezieht sich auf ASCII 码Mitte非打印字符,Der Bereich ist normalerweise 0x00~0x1F Und 0x7F,这些字符existieren文本文件Mitte通常不应该出现,Oder ein spezielles Formatlogo。</span></span><span>
</span><span><span class="hljs-comment">// Hier erfahren Sie, wie man es benutzt ctype_cntrl Erkennen und Filtersteuerungszeichen erkennen und filtern,stellen Sie sicher file_get_contents Normalerweise lesen:</span></span><span>
</span><span><span class="hljs-comment">// 1. Lesen Sie den ursprünglichen Inhalt der Datei</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">'example.txt'</span></span><span>;
</span><span><span class="hljs-variable">$content</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$content</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Die Datei kann nicht gelesen werden: <span class="hljs-subst">$filename</span></span></span><span>");
}
</span><span><span class="hljs-comment">// 2. 遍历内容检查是否存existieren控制字符</span></span><span>
</span><span><span class="hljs-comment">// ctype_cntrl Überprüfen Sie nur, ob ein einzelner Zeichen ein Steuercharakter ist,Daher ist es notwendig, nach Charakter zu urteilen</span></span><span>
</span><span><span class="hljs-variable">$hasControlChars</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span>;
</span><span><span class="hljs-keyword">for</span></span><span> (</span><span><span class="hljs-variable">$i</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-variable">$i</span></span><span> < </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$content</span></span><span>); </span><span><span class="hljs-variable">$i</span></span><span>++) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">ctype_cntrl</span></span><span>(</span><span><span class="hljs-variable">$content</span></span><span>[</span><span><span class="hljs-variable">$i</span></span><span>])) {
</span><span><span class="hljs-variable">$hasControlChars</span></span><span> = </span><span><span class="hljs-literal">true</span></span><span>;
</span><span><span class="hljs-keyword">break</span></span><span>;
}
}
</span><span><span class="hljs-comment">// 3. Prozess gemäß den Testergebnissen verarbeiten</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$hasControlChars</span></span><span>) {
</span><span><span class="hljs-comment">// Wenn es Kontrollzeichen gibt,Sie können wählen, um zu filtern</span></span><span>
</span><span><span class="hljs-variable">$filteredContent</span></span><span> = </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-keyword">for</span></span><span> (</span><span><span class="hljs-variable">$i</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-variable">$i</span></span><span> < </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$content</span></span><span>); </span><span><span class="hljs-variable">$i</span></span><span>++) {
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">ctype_cntrl</span></span><span>(</span><span><span class="hljs-variable">$content</span></span><span>[</span><span><span class="hljs-variable">$i</span></span><span>])) {
</span><span><span class="hljs-variable">$filteredContent</span></span><span> .= </span><span><span class="hljs-variable">$content</span></span><span>[</span><span><span class="hljs-variable">$i</span></span><span>];
}
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Kontrollcharakter erkannt,Gefilterter Inhalt:\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$filteredContent</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-comment">// Keine Kontrollzeichen,Verwenden Sie Inhalte direkt</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Der Dateiinhalt ist normal:\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$content</span></span><span>;
}
</span><span><span class="hljs-comment">// -------------------------------------------</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Verwandte Tags:
file_get_contents