Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Datei- und Verzeichnisoperationen

PHP-Datei- und Verzeichnisoperationen

WBOY
Freigeben: 2016-08-08 09:32:21
Original
1001 Leute haben es durchsucht

Verzeichnisoperationen

$base_dir  = 'filelist/';
$fso = opendir($base_dir);//打开目录,返回目录句柄
echo 'Basedir:'.$base_dir.'<hr />';
while($filelist = readdir($fso))
{
	echo $filelist.'<br />';
}
closedir($fs);//关闭目录句柄
Nach dem Login kopieren
Sie können dirname($path) und basename($path) verwenden, um den Pfad zurückzugeben Für den Verzeichnisteil und den Dateinamen können Sie disk_free_space($path) verwenden, um die verbleibende Größe des Speicherplatzes zurückzugeben.

Befehl erstellen:

mkdir($path,0777): 0777 ist der Berechtigungscode, der von umask() unter festgelegt werden kann Nicht-Windows

rmdir($path): Dateien unter Pfad $path löschen

Neue Datei

Ermitteln Sie zunächst die Berechtigungen des Verzeichnisses, in dem sich die erstellte Datei befindet. Es wird empfohlen, diese auf 777 festzulegen. Es wird empfohlen, den absoluten Pfad für den Namen der neuen Datei zu verwenden Datei.

$filename = 'test.txt';
$fp = fopen($filename, 'w+');//打开文件指针,创建文件
if(!is_writable($filename))
{
	die('文件:'.$filename.'不可写,请检查!');
}
fclose($fp);//关闭指针
Nach dem Login kopieren

Datei lesen

Bestimmen Sie zunächst, ob die Datei gelesen werden kann (Berechtigungsproblem). ) und stellen Sie dann fest, ob die Datei vorhanden ist

$filename = 'test.txt';
if(is_readable($filename) == false)
{
	die('文件不存在或无法读取');
}

if(file_exists($filename) == false)
{
	die('文件不存在');
}

$content = file_get_contents($filename);

echo htmlentities($data);
Nach dem Login kopieren

schreiben Sie die Datei

$filename = 'test.txt';
if(is_writeable($filename) == false)
{
	die('不能写入');
}

$content = 'Hello World';

file_put_contents($filename, $content);
Nach dem Login kopieren

file_put_contents() ist eine neu eingeführte Funktion in PHP5. Sie kann nicht von niedrigeren Versionen von PHP verwendet werden. Sie können die folgenden Methoden verwenden:

$filename = 'test.txt';
$data = 'Hello World';
$handle = fopen($filename, 'w');
fwrite($handle, $data);
fclose($handle);
Nach dem Login kopieren
Manchmal müssen Sie beim Schreiben einer Datei sperren und dann

function cache_page($pageurl, $pagedata)
{
	if(!$fso = fopen($pageurl, 'w'))
	{
		$this->warns('无法打开缓存文件');
		return false;
	}

	//LOCK_NB,排他型锁定
	if(!flock($fsom, LOCK_EX))
	{
		$this->warns('无法锁定缓存文件');
		return false;
	}

	//写入字节流,serizlize写入其他格式
	if(!fwrite($fso, $pagedata))
	{
		$this->warns('无法写入缓存文件');
		return false;
	}

	//释放锁定
	flock($fso, LOCK_UN);
	fclose($fso);
	return true;
}
Nach dem Login kopieren

Löschen schreiben die Datei

$file = 'test.txt';
$result = @unlink($file);
Nach dem Login kopieren

Datei kopieren

$file = 'test.txt';
$newfile = 'new.txt';//这个文件父文件夹必须可写
if(file_exists($file) == false)
{
	die('文件不存在');
}

$result = copy($file, $newfile);

if($result == false)
{
	echo 'Done';
}
Nach dem Login kopieren

Dateieigenschaften abrufen

$file = 'test.txt';

//获取最近修改时间
echo date('r', filemtime($file));

//获取上次被访问时间
echo date('r', fileatime($file));

//返回文件所有者
echo posix_getpwuid(fileowner($file));

//获取文件权限,非Win
echo substr(sprintf('$o', fileperms($file), -4));

//返回文件大小
echo filesize($file).'bytes';

//返回文件的全部信息
var_dump(stat($file));
Nach dem Login kopieren

Das Obige stellt PHP-Datei- und Verzeichnisoperationen vor, einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage