本地的html怎么直接通过路径就读取本地文件

本地的html怎么直接通过路径就读取本地文件,第1张

主要是利用相对位置,例如,以读取文件为例:

1、html读取文件和html文件 ,在同一个文件夹,如下图

2、html的代码写的时候,同一个文件夹下 那么就直接写的名称

另一种情况、如果文件存放在img文件夹下,img文件夹和html文件处于同一个文件夹下

1)存放如下,

2)代码如下:那么就先写的文件夹,在写/,在写胡全称

1 如果程序不是由自己做,这是一个糟糕的计划。糟糕的程序应包有一点的Bash脚本:#!/bin/bash
set -e
cd $(readlink -f $(dirname $0))
exec /myprog $
上面的脚本确定所在的目录,然后更改当前工作目录到该目录并运行一个程序myprog从那里,通过所有透明。你必须把这个脚本到你的程序所在的目录,然后运行你的程序来代替它。 假设您有访问源代码并可以修复程序,proc文件系统来确定程序的位置和绝对路径。 例如,/proc/self/exe将永远是一个符号链接指向的当前进程的二进制文件。使用readlink读取它的值 CodeGonet,再切可执行文件和你得到的目录。
2 出现了问题,前一段时间如何找到在C中的可执行文件的位置 你打开你的配置,资源,等这个路径
3 一种方法是ARGV [0]-有你的程序的相对路径(例如/programs/test/aout)。如果你切的程序,并添加到文件的相对路径,你会得到一个怪物(例如/programs/test///input_data),但它应该工作。
4 最简单的方法是要么把你的程序在一个预先知道的地方(/ bin中,/ usr / bin中,等)。如果没有,你在argv [0],删除该程序(最后一部分),作为你的工作目录前缀的所有相对路径(如果你想相对路径是相对于你的程序是)。 此外,你可以决定你的上面(使用的路径argv[0]),然后调用一个chdir()与此目录。从此所有的相对路径上是相对于所在的程序。但请注意,在这种情况下,你必须确定是否argv[0]占据绝对路径。如果没有,你必须得到当前工作目录(getcwd()),然后追加的目录部分argv[0]。但是,请注意,改变当前工作目录。是不是一个好主意,通常情况下,仿佛给你一个文件路径作为这将是相对于当前的工作目录,而不是相对于所在的程序存储。 例子:想象一下,你的程序在生活/usr/bin。你可以打电话给你的程序为:/usr/bin/myprog
(这将是argv[0]。trim的可执行文件,你有你的目录。)或者,是,比方说,在/usr:/bin/myprog
现在,argv[0]是一个相对路径。你必须在前面加上当前工作目录(/usr)到一个在argv[0]:/usr//bin/myprog,然后再次trim可执行文件的目录将再次/usr/bin。
5 唐的相对路径。使用绝对路径。你可能有一个configh头文件中定义的常量,指定安装的可执行文件。然后,前置一个字符串常量到您在代码中指定任何相对路径。
6 openat打开相对于你传递一个特定的目录文件描述符的文件,但我不认为这真的是你想要的(精确)什么。 你将需要找到当前可执行文件的目录,然后创建一个开放的呼叫相对于(使用字符串运算符来建立路径,openat,或改变当前目录到该目录)。 为了找到可执行文件,可以readlink/proc/self/exe。readlink读取路径的符号链接指向,并/proc/self是一个符号链接/proc/<PID>哪里<PID>是当前进程(在内核中处理特殊)的进程ID,以及exe以下是该进程的可执行文件的符号链接。然后,你需要掏钱的路径的可执行文件,。 所有这一切都这么说,应该避免这样一种方式,他们希望找到相对于其可执行文件的东西写程序。
7 好吧,如果你的程序需要从依赖安装程序所在的位置打开一个文件时,你应该做这个选项。有你的编译系统设置的CPP宏表示,其中有问题的数据文件,可以发现该目录。这是什么样的-datadir的选项在标准配置“的configure,make,make install的”内置程序经常做。 当然,如果你真的想要,可以通过编程改变工作目录与chdirPOSIX函数。但就像我说的,如果一个程序需要知道它位于何处,这应该是提供那么你不需要重写的选择工作目录中。
8 您可以从确定执行路径argv[0]但这样做的时候要小心。 你所描述的是一个众所周知的和预期的语义。用户expect这种行为。
9 下面是代码,你要找到你的程序在你的安装路径(与你的程序替换“test0002”):#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
#include <unistdh>
///=============================================================================
std::string FindInstallPath()
{
std::string sret="";
int pid = (int)getpid();
bool b=false;
std::string sf, s;
std::stringstream ss;
ss << "/proc/" << pid << "/maps";
sf = ssstr();
std::ifstream ifs(sfc_str());
size_t pos1, pos2;
while (!b && ifsgood())
{
std::getline(ifs, s);
if ((pos1 = srfind("test0002")) != std::string::npos)
{
if ((pos2 = sfind_first_of('/')) != std::string::npos)
sret = ssubstr(pos2, pos1 - pos2);
b = true;
}
}
if (!b) sret = "";
ifsclose();
return sret;
}

String extend = workergetPhoto()substring(workergetPhoto()
lastIndexOf(""));
// 文件的扩展名
            String folder = "/" + GlobeUPLOAD_FOLDER + "/" + workergetUser()getUserName() + "/" + GlobeWORKER_FOLDER + "/";
            // 存放上传文件的目录
            webfilecreateFolder(getBase(request) + folder);
            // 创建文件夹,getBase(request);获得项目的物理路径(在磁盘中的位置)
            String imgPath = folder + webtoolgetNowDate(2) + extend;// 产生新的相对路径(不带盘符的)
            webfilecopyFile(getBase(request) + workergetPhoto(), getBase(request) + imgPath);// 上传文件(这里只是复制了,因为上传的事情之前已经完成了)
            workersetPhoto(imgPath);
            // 这个路径是插入数据库的
            worker = workerDaoadd(worker);
            // 给数据库插入一条记录

查询的时候就能获取插入数据库的路径了。

1、打开“我的电脑”,在我的电脑中找到工具栏中的工具,并在工具下找到并单击“文件夹选项”。
2、在打开的“文件夹选项窗口中的”常规选项卡中,找到浏览文件夹下面的两个选项选,择第一个“在同一窗口中打开每个文件夹(M)”此项,然后单击确定按扭。

fl
=
ApplicationGetOpenFilename(,
,
"打开目标文件")
此句是打开一个选择文件的对话框,fl得到的是你选择文件的具体路径;
WorkbooksOpen
Filename:=fl
这句是打开你选择的文件!
当然如果想打开指定文件,你可以不写第1句,直接把第2句的fl改成具体路径的字符串即可!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13181270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-17
下一篇 2023-06-17

发表评论

登录后才能评论

评论列表(0条)

保存