请求来解答

Jun 13, 2016 am 10:09 AM
file filepath smarty tmp

请求高手进来解答,在线等

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class Smarty_Internal_Write_File {    /**     * Writes file in a save way to disk     *      * @param string $_filepath complete filepath     * @param string $_contents file content     * @return boolean true     */    public static function writeFile($_filepath, $_contents, $smarty)    {        $old_umask = umask(0);        $_dirpath = dirname($_filepath);         // if subdirs, create dir structure        if ($_dirpath !== '.' && !file_exists($_dirpath)) {            mkdir($_dirpath, $smarty->_dir_perms, true);        }         // write to tmp file, then move to overt file lock race condition        $_tmp_file = tempnam($_dirpath, 'wrt');        if (!($fd = @fopen($_tmp_file, 'wb'))) {            $_tmp_file = $_dirpath . DS . uniqid('wrt');            if (!($fd = @fopen($_tmp_file, 'wb'))) {            throw new SmartyException("unable to write file {$_tmp_file}");            return false;            }            }        fwrite($fd, $_contents);        fclose($fd);        // remove original file        if (file_exists($_filepath))            @unlink($_filepath);         // rename tmp file        rename($_tmp_file, $_filepath);         // set file permissions        chmod($_filepath, $smarty->_file_perms);        umask($old_umask);        return true;    } } 
Salin selepas log masuk


详细点翻译下这段代码是什么意思,紧急用,在线等

------解决方案--------------------
class Smarty_Internal_Write_File {
/**
* Writes file in a save way to disk

* @param string $_filepath complete filepath
* @param string $_contents file content
* @return boolean true
*/
public static function writeFile($_filepath, $_contents, $smarty)
{
$old_umask = umask(0);
$_dirpath = dirname($_filepath); //$_filepath的路径
// if subdirs, create dir structure
if ($_dirpath !== '.' && !file_exists($_dirpath)) {//路径(文件夹)不存在
mkdir($_dirpath, $smarty->_dir_perms, true);//创建

// write to tmp file, then move to overt file lock race condition
$_tmp_file = tempnam($_dirpath, 'wrt');//tempnam应该是转换路径到配置的模板转换保存目录,就是smarty模板文件转换成php代码文件的文件存放的位置

if (!($fd = @fopen($_tmp_file, 'wb'))) {//检查目录是否可以操作
$_tmp_file = $_dirpath . DS . uniqid('wrt');//转换文件名
if (!($fd = @fopen($_tmp_file, 'wb'))) {
throw new SmartyException("unable to write file {$_tmp_file}");
return false;
}
}

fwrite($fd, $_contents);//写转换后的内容,就是把smarty代码转换成php代码,
fclose($fd);

// remove original file
if (file_exists($_filepath))
@unlink($_filepath); 
// rename tmp file
rename($_tmp_file, $_filepath); 
// set file permissions
chmod($_filepath, $smarty->_file_perms);
umask($old_umask);
return true;




Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Prinsip pembersihan folder /tmp/ dalam sistem Linux dan peranan fail tmp Prinsip pembersihan folder /tmp/ dalam sistem Linux dan peranan fail tmp Dec 21, 2023 pm 05:36 PM

Kebanyakan fail .tmp adalah fail yang ditinggalkan kerana penutupan atau ranap yang tidak normal Cakera calar sementara ini tidak berguna selepas anda memulakan semula komputer, jadi anda boleh memadamkannya dengan selamat. Apabila anda menggunakan sistem pengendalian Windows, anda mungkin sering menemui beberapa fail dengan akhiran TMP dalam direktori akar pemacu C, dan anda juga akan menemui direktori TEMP dalam direktori Windows adalah fail sementara yang dijana oleh pelbagai perisian atau sistem, juga dikenali sebagai fail sampah. Fail sementara yang dijana oleh Windows pada asasnya adalah sama dengan memori maya, kecuali fail sementara lebih disasarkan daripada memori maya dan hanya melayani program tertentu. Dan kekhususannya telah menyebabkan ramai orang baru takut dengannya dan tidak memadamkannya.

Gunakan fungsi File.length() java untuk mendapatkan saiz fail Gunakan fungsi File.length() java untuk mendapatkan saiz fail Jul 24, 2023 am 08:36 AM

Gunakan fungsi File.length() Java untuk mendapatkan saiz fail Saiz fail adalah keperluan yang sangat biasa apabila berurusan dengan operasi fail Java menyediakan cara yang sangat mudah untuk mendapatkan saiz fail, iaitu, menggunakan panjang(. ) kaedah kelas Fail. Artikel ini akan memperkenalkan cara menggunakan kaedah ini untuk mendapatkan saiz fail dan memberikan contoh kod yang sepadan. Pertama, kita perlu mencipta objek Fail untuk mewakili fail yang kita ingin dapatkan saiznya. Berikut ialah cara membuat objek Fail: Filef

Aplikasi asli Hongmeng puisi rawak Aplikasi asli Hongmeng puisi rawak Feb 19, 2024 pm 01:36 PM

Untuk mengetahui lebih lanjut tentang sumber terbuka, sila lawati: Komuniti Pembangun 51CTO Hongmeng https://ost.51cto.com Persekitaran berjalan DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. Untuk membuat aplikasi, klik Fail- >newFile->CreateProgect. Pilih templat: [OpenHarmony] EmptyAbility: Isikan nama projek, shici, nama pakej aplikasi com.nut.shici dan lokasi storan aplikasi XXX (tiada bahasa Cina, aksara khas atau ruang). CompileSDK10, Model: Stage. Peranti

Bagaimana untuk menukar gumpalan php kepada fail Bagaimana untuk menukar gumpalan php kepada fail Mar 16, 2023 am 10:47 AM

Cara menukar gumpalan php kepada fail: 1. Buat fail sampel php 2. Melalui "function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' }) } ” kaedah boleh digunakan untuk menukar Blob kepada Fail.

Apakah maksud tmp dalam linux Apakah maksud tmp dalam linux Mar 10, 2023 am 09:26 AM

Di Linux, tmp merujuk kepada folder yang menyimpan fail sementara Folder ini mengandungi fail sementara yang dibuat oleh sistem dan pengguna had masa lalai folder tmp ialah 30 hari dipadamkan oleh sistem.

Namakan semula fail menggunakan fungsi File.renameTo() java Namakan semula fail menggunakan fungsi File.renameTo() java Jul 25, 2023 pm 03:45 PM

Gunakan fungsi File.renameTo() Java untuk menamakan semula fail Dalam pengaturcaraan Java, kita selalunya perlu menamakan semula fail. Java menyediakan kelas Fail untuk mengendalikan operasi fail, dan fungsi renameTo() boleh menamakan semula fail dengan mudah. Artikel ini akan memperkenalkan cara menggunakan fungsi File.renameTo() Java untuk menamakan semula fail dan menyediakan contoh kod yang sepadan. Fungsi File.renameTo() ialah kaedah kelas Fail.

Bagaimana untuk mengakses dan membersihkan fail sampah dalam direktori /tmp dalam CentOS 7? Bagaimana untuk mengakses dan membersihkan fail sampah dalam direktori /tmp dalam CentOS 7? Dec 27, 2023 pm 09:10 PM

Terdapat banyak sampah dalam direktori tmp dalam sistem centos7 Jika anda ingin membersihkan sampah, bagaimanakah anda harus melakukannya? Mari kita lihat tutorial terperinci di bawah. Untuk melihat senarai fail dalam direktori fail tmp, laksanakan perintah cdtmp/ untuk beralih kepada direktori fail semasa tmp, dan laksanakan arahan ll untuk melihat senarai fail dalam direktori semasa. Seperti yang ditunjukkan di bawah. Gunakan arahan rm untuk memadam fail Perlu diingatkan bahawa arahan rm memadam fail dari sistem selama-lamanya, adalah disyorkan apabila menggunakan arahan rm, sebaiknya berikan gesaan sebelum memadam fail. Gunakan arahan rm-i nama fail, tunggu pengguna mengesahkan pemadaman (y) atau langkau pemadaman (n), dan sistem akan melakukan operasi yang sepadan. Seperti yang ditunjukkan di bawah.

Gunakan fungsi File.getParent() java untuk mendapatkan laluan induk fail Gunakan fungsi File.getParent() java untuk mendapatkan laluan induk fail Jul 24, 2023 pm 01:40 PM

Gunakan fungsi File.getParent() java untuk mendapatkan laluan induk fail Dalam pengaturcaraan Java, kita selalunya perlu mengendalikan fail dan folder. Kadangkala, kita perlu mendapatkan laluan induk bagi fail, iaitu laluan folder tempat fail itu berada. Kelas Fail Java menyediakan kaedah getParent() untuk mendapatkan laluan induk bagi fail atau folder. Kelas Fail ialah perwakilan abstrak Java bagi fail dan folder. Ia menyediakan satu siri kaedah untuk mengendalikan fail dan folder. Antaranya, dapatkan

See all articles