请求来解答

Jun 13, 2016 pm 01:48 PM
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;
    } 
} 

Copier après la connexion


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

------解决方案--------------------
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;




Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le principe de nettoyage du dossier /tmp/ dans le système Linux et le rôle du fichier tmp Le principe de nettoyage du dossier /tmp/ dans le système Linux et le rôle du fichier tmp Dec 21, 2023 pm 05:36 PM

La plupart des fichiers .tmp sont des fichiers laissés en raison d'un arrêt anormal ou d'un crash. Ces disques de travail temporaires ne servent à rien après le redémarrage de l'ordinateur, vous pouvez donc les supprimer en toute sécurité. Lorsque vous utilisez le système d'exploitation Windows, vous pouvez souvent trouver des fichiers avec le suffixe TMP dans le répertoire racine du lecteur C, et vous trouverez également un répertoire TEMP dans le répertoire Windows. Les fichiers TMP sont des fichiers temporaires générés par divers logiciels ou. systèmes , également appelés fichiers indésirables. Les fichiers temporaires générés par Windows sont essentiellement les mêmes que la mémoire virtuelle, sauf que les fichiers temporaires sont plus ciblés que la mémoire virtuelle et ne servent qu'à un certain programme. Et sa spécificité a amené de nombreux novices à s'en laisser intimider et à ne pas le supprimer.

Utilisez la fonction File.length() de Java pour obtenir la taille du fichier Utilisez la fonction File.length() de Java pour obtenir la taille du fichier Jul 24, 2023 am 08:36 AM

Utilisez la fonction File.length() de Java pour obtenir la taille d'un fichier. La taille du fichier est une exigence très courante lors des opérations sur les fichiers. Java fournit un moyen très pratique d'obtenir la taille d'un fichier, c'est-à-dire en utilisant la longueur (. ) méthode de la classe File . Cet article explique comment utiliser cette méthode pour obtenir la taille d'un fichier et donne des exemples de code correspondants. Tout d’abord, nous devons créer un objet File pour représenter le fichier dont nous voulons obtenir la taille. Voici comment créer un objet File : Filef

Comment convertir un blob php en fichier Comment convertir un blob php en fichier Mar 16, 2023 am 10:47 AM

Comment convertir un blob php en fichier : 1. Créez un exemple de fichier php ; 2. Via "function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' }) } » peut être utilisée pour convertir un Blob en fichier.

Poésie aléatoire d'application native Hongmeng Poésie aléatoire d'application native Hongmeng Feb 19, 2024 pm 01:36 PM

Pour en savoir plus sur l'open source, veuillez visiter : 51CTO Hongmeng Developer Community https://ost.51cto.com Environnement d'exploitation DAYU200 : 4.0.10.16SDK : 4.0.10.15IDE : 4.0.600 1. Pour créer une application, cliquez sur Fichier- >nouveauFichier->CréerProgect. Sélectionnez le modèle : [OpenHarmony] EmptyAbility : indiquez le nom du projet, shici, le nom du package d'application com.nut.shici et l'emplacement de stockage de l'application XXX (pas de chinois, de caractères spéciaux ou d'espaces). CompileSDK10, modèle : étape. Appareil

Renommez les fichiers à l'aide de la fonction File.renameTo() de Java Renommez les fichiers à l'aide de la fonction File.renameTo() de Java Jul 25, 2023 pm 03:45 PM

Utilisez la fonction File.renameTo() de Java pour renommer des fichiers. En programmation Java, nous avons souvent besoin de renommer des fichiers. Java fournit la classe File pour gérer les opérations sur les fichiers, et sa fonction renameTo() peut facilement renommer les fichiers. Cet article explique comment utiliser la fonction File.renameTo() de Java pour renommer des fichiers et fournit des exemples de code correspondants. La fonction File.renameTo() est une méthode de la classe File.

Comment accéder et nettoyer les fichiers indésirables dans le répertoire /tmp dans CentOS 7 ? Comment accéder et nettoyer les fichiers indésirables dans le répertoire /tmp dans CentOS 7 ? Dec 27, 2023 pm 09:10 PM

Il y a beaucoup de déchets dans le répertoire tmp du système centos7. Si vous souhaitez nettoyer les déchets, comment devez-vous procéder ? Jetons un coup d'œil au didacticiel détaillé ci-dessous. Pour afficher la liste des fichiers dans le répertoire de fichiers tmp, exécutez la commande cdtmp/ pour basculer vers le répertoire de fichiers actuel de tmp, et exécutez la commande ll pour afficher la liste des fichiers dans le répertoire actuel. Comme indiqué ci-dessous. Utilisez la commande rm pour supprimer des fichiers. Il convient de noter que la commande rm supprime définitivement les fichiers du système. Par conséquent, il est recommandé que lors de l'utilisation de la commande rm, il soit préférable de donner une invite avant de supprimer le fichier. Utilisez la commande rm-i file name, attendez que l'utilisateur confirme la suppression (y) ou ignore la suppression (n), et le système effectuera les opérations correspondantes. Comme indiqué ci-dessous.

Que signifie tmp sous Linux Que signifie tmp sous Linux Mar 10, 2023 am 09:26 AM

Sous Linux, tmp fait référence à un dossier qui stocke les fichiers temporaires. Ce dossier contient des fichiers temporaires créés par le système et les utilisateurs ; la limite de temps par défaut du dossier tmp est de 30 jours. Les fichiers sous tmp qui ne sont pas consultés pendant 30 jours seront automatiquement accessibles. supprimé par le système de.

Utilisez la fonction File.getParent() de Java pour obtenir le chemin parent du fichier Utilisez la fonction File.getParent() de Java pour obtenir le chemin parent du fichier Jul 24, 2023 pm 01:40 PM

Utilisez la fonction File.getParent() de Java pour obtenir le chemin parent d'un fichier. En programmation Java, nous avons souvent besoin d'exploiter des fichiers et des dossiers. Parfois, nous devons obtenir le chemin parent d’un fichier, qui est le chemin du dossier où se trouve le fichier. La classe File de Java fournit la méthode getParent() pour obtenir le chemin parent d'un fichier ou d'un dossier. La classe File est la représentation abstraite des fichiers et des dossiers en Java. Elle fournit une série de méthodes pour exploiter les fichiers et les dossiers. Parmi eux, obtenez

See all articles