linux下遍历目录文件并生成本地页面(求解),该怎么解决
linux下遍历目录文件并生成本地页面(求解)
我有一个项目,要求 用网页的形式 显示 系统中 某个目录 中的内容 ,求教思路,有代码最好
网页是用js css加载的 c++该怎么写 这个项目类似于 浏览ftp服务器网页
------解决方案--------------------
遍历目录:
我有一个项目,要求 用网页的形式 显示 系统中 某个目录 中的内容 ,求教思路,有代码最好
网页是用js css加载的 c++该怎么写 这个项目类似于 浏览ftp服务器网页
------解决方案--------------------
遍历目录:
- C/C++ code
//linux下: //A Demo written by camelrain /* the program find a file from current directory or your defined directory commond optinon [path] filename */ #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> #include <pwd.h> #include <unistd.h> #include <stdio.h> #include <string.h> #define LENGTH 256 /* just if is a directory*/ static int IsDir (char * name); /* search target file, arg1 is current path, arg2 is target file*/ static void search_file (char * path, char * name); static int search_flag=0; /*just if is a directory*/ static int IsDir (char * name) { struct stat buff; if (lstat(name,&buff)<0) return 0; //if not exist name ,ignore /*if is directory return 1 ,else return 0*/ return S_ISDIR(buff.st_mode); } /*search target file*/ static void search_file (char * path, char * name) { DIR *directory; struct dirent * dir_entry; char buffer[LENGTH]; if ((directory=opendir(path)) == NULL) { fprintf(stderr, "%s", path); perror(" "); return; } while (dir_entry=readdir(directory)) { if (!strcmp(dir_entry->d_name,".")||!strcmp(dir_entry->d_name,"..")) { /* do nothing*/ } else { /* if is boot directory add "/" */ if ((strcmp(path,"/"))==0) sprintf(buffer,"%s%s",path,dir_entry->d_name); /* if is not boot directory do not add "/"*/ else sprintf(buffer,"%s/%s",path,dir_entry->d_name); //printf("Now file : %s\n",buffer); if (IsDir(buffer)) search_file (buffer , name); else { if (strcmp(dir_entry->d_name,name)==0) { printf("%s\n",buffer); search_flag=1; } } } } closedir(directory); } int main(int argc, char *argv[]) { static char * current_dir; static char * filename; int length; if (argc==1) { printf("A few parameters!!\n"); return 0; } if (argc==2) { current_dir=(char * )getcwd(current_dir,LENGTH); filename=argv[1]; } if (argc==3) { length=strlen(argv[1]); if (length>1 && (argv[1][length-1]=='/')) { argv[1][length-1]='\0'; //printf("%d\n",strlen(argv[1])); } current_dir=argv[1]; filename=argv[2]; } search_file(current_dir,filename); if (!search_flag) printf("Not found this(%s) file!\n",filename); return 0; }