Maison > Tutoriel CMS > DEDECMS > Que dois-je faire si Dreamweaver diy.php est perdu ?

Que dois-je faire si Dreamweaver diy.php est perdu ?

PHPz
Libérer: 2023-04-04 10:18:52
original
1223 Les gens l'ont consulté

Dans le processus de création d'un site Web avec DedeCMS, nous rencontrons souvent quelques problèmes. L'un des problèmes les plus courants est que le message d'erreur « Dreamweaver diy.php est manquant » apparaît lors de l'accès au site Web. Lorsque cela se produit, l’impact direct est que la fonction de modèle DIY de Dreamweaver ne peut pas être utilisée normalement. Alors pourquoi cela arrive-t-il ? Quelle est la solution ? Cet article vous le présentera en détail.

1. Analyse des causes

Avant de comprendre l'erreur "Dreamweaver diy.php est manquant", nous devons comprendre comment fonctionne la fonction de modèle DIY de Dreamweaver. Dans DreamWeaver CMS, les modèles DIY sont implémentés via des fichiers de script PHP. Plus précisément, un fichier nommé « diy.php » est utilisé pour effectuer les opérations pertinentes. L'emplacement de ce fichier se trouve généralement dans le répertoire /Dede, où il est stocké avec d'autres fichiers de script principaux. Lors de l'accès à la page du modèle DIY, le système Dreamweaver appellera le fichier « diy.php », effectuera le traitement correspondant en fonction des opérations de l'utilisateur, et enfin renverra la page remplie au navigateur pour l'afficher. Le message d'erreur « Dreamweaver diy.php est manquant » signifie que le système ne peut pas trouver le fichier « diy.php » lors de l'exécution d'opérations de modèle de bricolage, ou que le fichier a été supprimé ou falsifié par d'autres.

Alors, pourquoi « diy.php est manquant » se produit ? Premièrement, il se peut que le fichier ait été supprimé par erreur. Deuxièmement, il se peut que le fichier ait été modifié ou supprimé par un virus ou une attaque malveillante. Enfin, on ne peut pas exclure que cela soit dû à des problèmes tels que le fonctionnement du système et les autorisations de fichiers.

2. Solution

Face au message d'erreur "Dreamweaver diy.php est manquant", comment devons-nous le résoudre ? Voici plusieurs solutions courantes :

  1. Restaurer le fichier de sauvegarde

Si vous avez déjà sauvegardé les fichiers de votre site Web, vous pouvez essayer d'écraser le fichier "diy.php" du fichier de sauvegarde dans le répertoire d'origine. S'il peut s'afficher normalement à ce moment-là, vous pouvez alors envisager de renforcer la protection de sécurité du site Web pour éviter que ce problème ne se reproduise.

  1. Re-téléchargez le fichier "diy.php"

S'il n'y a pas de fichier de sauvegarde ou si le fichier n'existe pas dans le fichier de sauvegarde, vous pouvez essayer de retélécharger un package d'installation complet du système DreamWeaver et l'extraire "diy.php" à partir de ce fichier, puis téléchargez-le dans le répertoire /Dede du site Web. Une fois le téléchargement terminé, essayez à nouveau d'accéder à la page du modèle de bricolage pour voir si elle peut s'afficher normalement.

  1. Écrivez manuellement le fichier "diy.php"

Si les deux méthodes ci-dessus ne sont pas réalisables, vous pouvez envisager d'écrire manuellement un fichier "diy.php". La méthode spécifique est la suivante :

Tout d'abord, ouvrez l'éditeur de texte et entrez le code suivant :

<?php
/**
 *
 * DIY页面生成器
 *
 * @version        $Id: diy.php 1 9:39 2010年7月21日Z
 *
 */
require_once(dirname(__FILE__).&#39;/include/common.inc.php&#39;);
require_once(DEDEINC.&#39;/membermodel.cls.php&#39;);
require_once(DEDEINC.&#39;/userlogin.class.php&#39;);
if (!isset($cfg_ml)) {
    $cfg_ml = new MemberLogin();
    if ($cfg_ml->IsLogin()) {
        $cfg_ml->MemberFields['spacesta'] == 2;
    }
}
//增加访问频率控制
$userip  = GetIP();
if (ckSqlFreq($userip, '#@__diy', 30, 'ip') == false) {
    exit("访客您访问频率太快啦,请稍等1分钟再访问,谢谢!");
}
$aid = isset($aid) && is_numeric($aid) ? $aid : 0;
if (empty($aid)) {
    ShowMsg('非法操作,请返回!', 'javascript:;');
    exit();
}
$tgrow = $db->GetOne('SELECT * FROM `#@__tagindex` WHERE aid = ' . $aid . ' AND typeid IN (0,' . $cfg_ml->M_MbType . ')');
if ($tgrow['id'] > 0) {
    if (!empty($tgrow['keywords'])) {
        foreach (explode(',', $tgrow['keywords']) as $tag) {
            $tag = trim($tag);
            if (!empty($tag)) {
                $tags[] = $tag;
            }
        }
    }
    if (empty($tags)) {
        unset($tgrow);
    }
}
$dsql->SetQuery("SELECT * FROM `#@__arctype` WHERE id = (SELECT typeid FROM `#@__archives` WHERE id = {$aid}) ");
$tprow = $dsql->GetOne();
if (!$tprow) {
    ShowMsg('模板不存在!', 'javascript:;');
    exit();
}
if (empty($tprow['templateid'])) {
    $tpid = 0;
    $tpfile = $tprow['templet'];
    $titles = $tprow['typename'];
} else {
    $tsql->SetQuery('SELECT * FROM `#@__arctemplates` WHERE id = ' . $tprow['templateid']);
    $tyrow = $dsql->GetOne();
    if ($tyrow) { ←此处为修正的代码,增加一个}符号
        $tpid = $tyrow['id'];
        $tpfile = $tyrow['templatepath'];
        $titles = (isset($tyrow['issystem']) && $tyrow['issystem'] == '-1') ? $tyrow['filename'] : $tyrow['templatename'];
    }
}
$hasfile = true;
if ($tpid > 0) {
    $mtplfile = DEDETEMPLATE . '/' . $tpfile;
    $dtp = new DedeTemplate();
    $dtp->LoadTemplate($mtplfile);
    $hasfile = $dtp->IsCompile($mtplfile);

    $orderquery = isset($orderquery) ? $orderquery : '';
    $litpic = isset($litpic) ? trim($litpic) : '';
    $isremote = isset($isremote) ? intval($isremote) : 0;
    $filename = isset($filename) ? trim($filename) : '';
    $sptype = isset($sptype) ? trim($sptype) : '';
    $stag = isset($stag) ? intval($stag) : 0;

    if (!$hasfile) {
        ShowMsg('没找到指定模板,无法完成操作!', 'javascript:;');
        exit();
    }
    $dtp->display();
} else {
    include_once(DEDEINC . '/dedepage.class.php');
    $phpfile = DEDETEMPLATE.'/default/diy.htm';
    if(!file_exists($phpfile) || !is_file($phpfile))
    {
        ShowMsg("缺少系统核心文件,无法运行此功能,如果你是网站管理员,请检查你的系统是否完整!",$cfg_basehost);
        exit();
    }
    $dtp = new DedePage(1);
    $dtp->SetTemplate($phpfile);
    $dtp->SetVar('title', $titles);
    $dtp->Display();
}
?>
Copier après la connexion

Deuxièmement, enregistrez le fichier sous le nom de fichier "diy.php" dans l'éditeur de texte et téléchargez-le dans /Dede sur le répertoire du site Web. Une fois le téléchargement terminé, essayez à nouveau d'accéder à la page du modèle de bricolage pour voir si elle peut s'afficher normalement.

Il convient de noter que bien que la méthode ci-dessus puisse résoudre le message d'erreur "Dreamweaver diy.php est manquant", elle ne garantit pas la sécurité du site Web. Par conséquent, il est recommandé aux utilisateurs de sauvegarder rapidement leurs données lorsqu'ils sont confrontés à cette situation et de renforcer la sécurité sur le site Web.

En bref, lorsque vous rencontrez le message d'erreur "Dreamweaver diy.php est manquant", ne paniquez pas. Résolvez-le via les méthodes ci-dessus au lieu de réinstaller directement le système Dreamweaver. Cela peut éviter la perte de données et économiser du temps et de l'énergie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal