我知道如何在 ColdFusion 中执行此操作,我正在尝试使用相同的语法来根据需要定义根目录、子目录和文件名(目标是当客户端单击任何页面时,它的标题将由部分或目录定义它位于)。
这是我为 CF 编写的代码(抱歉有很多):
<cfset REQUEST.directory_path = listDeleteAt(CGI.script_name, listLen(CGI.script_name, "/"), "/")>
<cfset REQUEST.directory_top = listFirst(CGI.script_name, "/")>
<cfset REQUEST.filename = listFirst(listLast(CGI.script_name, "/"), ".")>
<!--- Array of directory names --->
<cfset REQUEST.directory_array = ListToArray(REQUEST.directory_path,"/")>
<cfif ArrayLen(REQUEST.directory_array) GTE 1>
<cfset REQUEST.directory_parent = REQUEST.directory_array[ArrayLen(REQUEST.directory_array)]>
<cfelse>
<cfset REQUEST.directory_parent = REQUEST.filename>
</cfif>
<cfset VARIABLES.filename = REQUEST.filename>
<cfset VARIABLES.directory = REQUEST.directory_parent>
<cfset VARIABLES.primarydir = REQUEST.directory_top>
<cfset VARIABLES.secondarydir = GetToken(REQUEST.directory_path, 2 , "/")>
<cfset VARIABLES.tertiarydir = GetToken(REQUEST.directory_path, 3 , "/")>
<cfset VARIABLES.quaternarydir = GetToken(REQUEST.directory_path, 4 , "/")>
<cfif VARIABLES.primarydir EQ "index.cfm">
<cfset VARIABLES.primarydir = "index">
</cfif>
然后我有一个简单的 switch 语句来定义我的各个部分:
<cfswitch expression="#VARIABLES.PrimaryDir#">
<cfcase value="photography">
<cfset VARIABLES.page_title_section = "Home">
<cfset VARIABLES.PrimaryDir EQ 'photography'>
</cfcase>
<cfcase value="clients">
<cfset VARIABLES.page_title_section = " Clients">
<cfset VARIABLES.PrimaryDir EQ 'clients'>
</cfcase>
等等等等
我想我可以在 PHP 中创建 switch 语句,但是如何定义上面的目录结构?我确实看过这里: http: //php.net/manual/en/function.pathinfo.php但我不是 100% 确定我传递给 php 以使其正常工作。
希望有人可以提供帮助。