Example #1
0
static void
upload_do_del(char *path, char *filename)
{
	char filepath[1024];
	if (fixfilename(filename))
		http_fatal("无效的文件名,请勿包含特殊字符(问号括号空格等)");
	snprintf(filepath, sizeof (filepath), "%s/%s", path, filename);
	if (unlink(filepath) < 0) {
		printf("删除文件失败,“%s”<br>\n", filename);
	}
}
Example #2
0
int
save_attach(char *path, int totalsize)
{
	char *ptr, filename[100], filepath[256], pname[16];
	FILE *fp;
	int i;
	struct parm_file *parmFile;
	for (i = 0; i < 10; i++) {
		sprintf(pname, "file%d", i);
		parmFile = getparmfile(pname);
		if (!parmFile)
			continue;
		//errlog("%s %d", parmFile->filename, parmFile->len);
		strsncpy(filename, parmFile->filename, sizeof (filename));
		if (strlen(filename) >= 35) {
			ptr = strrchr(filename, '.');
			if (ptr) {
				int len = strlen(ptr);
				if (len > 6) {
					ptr[6] = 0;
					len = 6;
				}
				memmove(filename + 35 - len, ptr, len + 1);
			} else
				filename[35] = 0;
		}

		if (fixfilename(filename)) {
			printf("无效的文件名:%s<br>", filename);
			continue;
		}
		if (parmFile->len + totalsize > MAXATTACHSIZE) {
			printf("文件 %s 过大,上载失败<br>", filename);
			continue;
		}
		sprintf(filepath, "%s/%s", path, filename);

		mkdir(path, 0760);
		fp = fopen(filepath, "w");
		fwrite(parmFile->content, 1, parmFile->len, fp);
		fclose(fp);
		printf("文件 %s (%d字节) 上载成功<br>", filename,
		       parmFile->len);
		totalsize += parmFile->len;
	}
	return totalsize;
}
Example #3
0
static void plotparam(char *paramname, int xpos, int ypos, int length, int digits)
/***************************************/
/* display parameter with paramname at specified x-y position */
{
   char t[MAXPATHL];
   int tree;

    xpos = (int) ( xpos * ppmm * wcmax / 400.0);
    tree = (strcmp(paramname,"h1freq")==0) ? SYSTEMGLOBAL : PROCESSED;
    getdstring(paramname,t,length,digits,tree,1);
    if ((strcmp(paramname,"file") == 0) &&
	(strrchr( &t[ 0 ], DIRTERMCHAR ) != NULL))
      fixfilename(t); 
    if (strcmp(t,"undefined")==0)
      strcpy(t,"---");
    if (xpos + ((int) strlen(t)+1) * xcharpixels > mnumxpnts)
      xpos = mnumxpnts - (strlen(t)+1) * xcharpixels;
    if (debug1)
	Wscrprintf("param %s is %s\n",paramname,t);
    amove(xpos,(int)(ypos*ppmm/ymultiplier));
    dstring(t);
}