我在Eclipse(JSP)中创建一个Web应用程序,并使用Tomcat作为服务器(集成到Eclipse中).我必须在下面创建对象并指定配置文件的路径.这条绝对的道路很有效:
Store store = StoreFactory.create("file:///C:/Users/Aliens/workspace/myProject/WebContent/config/sdb.ttl");
Run Code Online (Sandbox Code Playgroud)
但是我想知道为什么我不能使用相对路径.它应该是"config/sdb.ttl"正确的(如果项目的名称是根)?但它无法以这种方式找到它(NotFoundException).
这是因为几乎同样的问题,这
我需要获取ABSOLUTE url到我的脚本.例如,我有这种结构
http://mydomain.com/downloads/games/freegame_222/ajax.php
我的应用程序根目录是freegame_222 /
但是,我怎样才能"建立"绝对的,而不是相对于ajax.php的路径?结果将是
http://mydomain.com/downloads/games/freegame_222/ajax.php
要么
/downloads/games/freegame_222/ajax.php
但不是:
ajax.php
这些示例将在url("ajax.php");调用后返回
PHP中是否有本机函数?如果不是,有人知道任何自定义的吗?
我想从另一个页面调用该页面,例如index.php
有没有办法在PHP中如何确定给定相对路径的绝对路径而不实际解析符号链接?像realpath功能但没有符号链接解析的东西.
或者,是否有一些简单的方法可以检查用户(使用我的浏览PHP脚本查看文件)是否不小心走出Apache虚拟主机的主目录?(或者不允许他使用令人讨厌的.和..在路径中)
谢谢!
文件名有三种类型
首先(根据某种"当前工作目录")
../foo
./foo
bar/foo # really in this group?
Run Code Online (Sandbox Code Playgroud)
并且(根据绝对路径,独立于CWD)
/foo
/bar/foo
Run Code Online (Sandbox Code Playgroud)
并且(独立于CWD并且独立于任何绝对路径)
foo
bar/foo # really in this group?
Run Code Online (Sandbox Code Playgroud)
我不确定把它放在哪里bar/foo.这三个类别是否有一般的命名约定?或者还有更多?
我正在使用SAS Enterprise Guide 4.1,我的项目包含大量代码.该代码在外部.sas文件中组织,主要是因为.egp文件是二进制和纯文本.sas文件使用git更好.
问题是SAS EG 4.1使用绝对路径来引用外部.sas文件,因此将项目移动到不同的PC会破坏对代码文件的引用(除非其他PC使用相同的目录结构).
有没有办法强制SAS EG 4.1使用相对路径(似乎SAS EG 4.3使用相对路径,但升级不是一个选项).如果没有,是否至少有一种轻松移动项目的聪明方法?
现在,每次我必须移动项目时,我都会将代码嵌入到项目中(这会破坏版本控制).另一种方法是删除项目中的所有引用并重新添加它们(这是很多工作).
我正在尝试使用打开文件的相对路径在Vim中保存我的会话.使用cur_dirin sessionoptions,文件的路径将是相对的.当前目录,但会话文件包含cd /path/to/base/directory命令:
...
cd /path/to/base
badd +0 relpath1/file
badd +0 relpath2/file
...
Run Code Online (Sandbox Code Playgroud)
如果我退出curdirsessionoptions,cd命令将消失,但文件路径将是绝对的:
badd +0 /path/to/base/relpath1/file
badd +0 /path/to/base/relpath2/file
Run Code Online (Sandbox Code Playgroud)
有没有办法只有相对路径wrt.什么是创建会话时的当前目录 - 没有插件或编写脚本?这样会话文件只有:
badd +0 relpath1/file
badd +0 relpath2/file
Run Code Online (Sandbox Code Playgroud)
我的最终目标是拥有一个我可以复制的会话文件,例如从SVN结账到另一个.
是否有Flask函数或简单的方法可以将静态文件路径转换为磁盘上的绝对文件路径?例如,“ / static / css / style.css”需要根据应用程序或蓝图中定义的静态文件夹返回style.css的绝对路径。
为了澄清,我目前正在使用Flask-Asset。
{% assets "all_js" %}
<script type="text/javascript" src="{{ ASSET_URL }}"></script>
{% endassets %}
Run Code Online (Sandbox Code Playgroud)
模板中的以上部分将在生产方面生成此文件。不使用相对路径的主要原因是我可以从无cookie的域提供静态服务。
<script type="text/javascript" src="/static/public/all.580e5dae.js"></script>
Run Code Online (Sandbox Code Playgroud) 我正在制作一个小程序来帮助文件阅读.
我有一个for循环从命令行接收命令:
for (i = 1; argc > i; i++)
{
QString path = QDir::currentPath()+ "/" + QString(argv[i]);
QDir dir(path);
fileSearch(dir);
}
Run Code Online (Sandbox Code Playgroud)
从那里我调用另一种方法,我在其中查看每个文件/ foler并获取大小以及它是文件还是文件夹.
void fileSearch(QDir dir)
{
foreach(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Files | QDir::AllDirs ))
{
if (info.isFile())
{
qDebug() << info.path() << "is a file! its size is:" << info.size() << endl;
}
if (info.isDir())
{
qDebug() << info.path() << "is a directory! its size is:" << info.size() << endl;
fileSearch(info.filePath());
}
}
Run Code Online (Sandbox Code Playgroud)
而不是阅读整个路径,我希望它只读取相对路径.而不是阅读:
home/john/desktop/project/currentproject/checkdirectory is a directory! …Run Code Online (Sandbox Code Playgroud) 以供参考。绝对路径是计算机上某个位置的完整路径。相对路径是相对于当前工作目录(PWD)的某个文件的路径。例如:
绝对路径:
C:/users/admin/docs/stuff.txt
如果我的PWD为C:/users/admin/,则相对路径为stuff.txt:docs/stuff.txt
注意,PWD +相对路径=绝对路径。
太酷了 现在,我编写了一些脚本来检查文件是否存在。
os.chdir("C:/users/admin/docs")
os.path.exists("stuff.txt")
TRUE如果stuff.txt存在,它将返回并且可以工作。
现在,如果我写,
os.path.exists("C:/users/admin/docs/stuff.txt")
这也将返回TRUE。
我们是否有一定的时间需要彼此使用?python如何找到路径的方法?它先尝试一个然后另一个尝试吗?
谢谢!
如何在Jenkins管道脚本中(在Windows环境中)从工作空间获取文件的绝对路径
文件位置(从Git和Jenkinsfile2.nprd检出的文件将具有groovy管道脚本):
C:/程序文件(x86)/Jenkins/workspace/dev-my-api/my-data-api/my-data-api/pom.xml C:/程序文件(x86)/ Jenkins / workspace / dev-my -api / my-data-api / Jenkinsfile2.nprd
脚本:
stages {
stage('Setup') {
steps {
script {
pomPath = findFiles(glob: "**/pom.xml")[0].path
env.WORKSPACE = pwd()
pomDir = bat(script: "for %%F in ($pomPath) do set dirname=%%~dpF", returnStdout: true).trim()
echo "env.WORKSPACE:" + env.WORKSPACE
echo "pom file path:" + pomPath
echo "pom directory****:" + pomDir
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
env.WORKSPACE:C:\Program Files (x86)\Jenkins\workspace\dev-my-api
pom file path:my-data-api\pom.xml
pom directory****:C:\Program Files (x86)\Jenkins\workspace\my-data-api>for %F in (my-data-api\pom.xml) do set dirname=%~dpF
Run Code Online (Sandbox Code Playgroud)
路径: …