PHP目录和文件的操作
目录操作
首先是从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出:
<?php $base_dir="filelist/"; $fso=opendir($base_dir); echo $base_dir."<hr/>"; while($flist=readdir($fso)){ echo $flist."<br/>"; } closedir($fso) ?>
这是讲返回文件目录下面的文件已经目录的程序(0文件将返回false)。
有时候需要知道目录的信息,可以使用dirname($path)和basename($path),分别返回路径的目录部分和文件名名称部分,可用disk_free_space($path)返回查看空间剩余空间。
创建命令:
- mkdir($path,0777):0777是权限码,在非window下可用umask()函数设置。
- rmdir($path):将删除路径在$path的文件。
新建文件
首先,确定你所要新建文件所在的目录权限,建议设备为777。然后,新建文件的名称建议使用绝对路径。
<?php $filename="test.txt"; $fp=fopen("$filename", "w+"); //打开文件指针,创建文件 if ( !is_writable($filename) ){ die("文件:" .$filename. "不可写,请检查!"); } //fwrite($filename, "anything you want to write to $filename."; fclose($fp); //关闭指针 ?>
读文件
首先是一个文件看能不能读取(权限问题),或者存在不,我们可以用is_readable函数获取信息:
<?php $file = 'dirlist.php'; if (is_readable($file) == false) { die('文件不存在或者无法读取'); } else { echo '存在'; } ?>
判断文件存在的函数还有file_exists(下面演示),但是这个显然无is_readable全面,当一个文件存在的话可以用:
<?php $file = "filelist.php"; if (file_exists($file) == false) { die('文件不存在'); } $data = file_get_contents($file); echo htmlentities($data); ?>
但是file_get_contents函数在较低版本上不支持,可以先创建文件的一个句柄,然后用指针读取全部:
还有一种方式,可以读取二进制的文件:
$data = implode('', file($file));
写文件
和读取文件的方式一样,先看看是不是能写:
<?php $file = 'dirlist.php'; if (is_writable($file) == false) { die("You have no right to write!"); } ?>
能写了的话可以使用file_put_contents函数写入:
<?php $file = 'dirlist.php'; if (is_writable($file) == false) { die('不能写入'); } $data = '帮客之家'; file_put_contents ($file, $data); ?>
file_put_contents函数在php5中新引进的函数(不知道存在的话用function_exists函数先判断一下)低版本的php无法使用,可以使用如下方式:
$f = fopen($file, 'w'); fwrite($f, $data); fclose($f);
替换之。
写文件的时候有时候需要锁定,然后写:
function cache_page($pageurl,$pagedata){ if(!$fso=fopen($pageurl,'w')){ $this->warns('无法打开缓存文件.');//trigger_error return false; } if(!flock($fso,LOCK_EX)){//LOCK_NB,排它型锁定 $this->warns('无法锁定缓存文件.');//trigger_error return false; } if(!fwrite($fso,$pagedata)){//写入字节流,serialize写入其他格式 $this->warns('无法写入缓存文件.');//trigger_error return false; } flock($fso,LOCK_UN);//释放锁定 fclose($fso); return true; }
复制,删除文件
php删除文件非常简单,用unlink函数简单操作:
<?php $file = 'dirlist.php'; $result = @unlink ($file); if ($result == false) { echo '蚊子赶走了'; } else { echo '无法赶走'; } ?>
复制文件也很容易:
<?php $file = 'yang.txt'; $newfile = 'ji.txt'; # 这个文件父文件夹必须能写 if (file_exists($file) == false) { die ('小样没上线,无法复制'); } $result = copy($file, $newfile); if ($result == false) { echo '复制记忆ok'; } ?>
可以使用rename()函数重命名一个文件夹。其他操作都是这几个函数组合一下就能实现的。
获取文件属性
获取最近修改时间:
<?php $file = 'test.txt'; echo date('r', filemtime($file)); ?>
返回的说unix的时间戳,这在缓存技术常用。
相关的还有获取上次被访问的时间fileatime(),filectime()当文件的权限,所有者,所有组或其它 inode 中的元数据被更新时间,fileowner()函数返回文件所有者。$owner = posix_getpwuid(fileowner($file));(非window系统),ileperms()获取文件的权限。
<?php $file = 'dirlist.php'; $perms = substr(sprintf('%o', fileperms($file)), -4); echo $perms; ?>
filesize()返回文件大小的字节数:
<?php // 输出类似:somefile.txt: 1024 bytes $filename = 'somefile.txt'; echo $filename . ': ' . filesize($filename) . ' bytes'; ?>
获取文件的全部信息有个返回数组的函数stat()函数:
<?php $file = 'dirlist.php'; $perms = stat($file); var_dump($perms); ?>

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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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





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.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
