日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于html页面在线升级问题

發布時間:2024/3/26 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于html页面在线升级问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?????? 關于HTML在線升級的問題,這里是關于linux嵌入式方面,基于boa服務器的升級,所用到的cgi程序為C語言所編輯,主要想清楚這兩個面,第一,升級的目的是什么,第二,如何升級。

?????? 首先就第一個問題,升級的目的是什么進行討論,說白了,升級就是將新文件把原有的文件替換掉。

?? 其次,升級的過程是:

?? 1.需要做一個升級的網頁即:

<form name="decode" id="form" method="post" action="cgi-bin/uploadcgi.cgi" enctype="multipart/form-data" target="_blank"><!--<input type="hidden" name="action" value="set"/>--> <div class="fr_cont"><p><input type="file" class = "fr_bot1" id="file" name="file"/><input type="submit" class = "fr_bot2" value="上傳" /> </p></div></form>

?

??????? 2.將文件上傳的服務器:

????? 這里使用的上傳代碼為:(需要借助cgic庫)

???

//取得html頁面中file元素的值,應該是文件在客戶機上的路徑名
????if (cgiFormFileName("file", name, sizeof(name)) !=cgiFormSuccess)
????{
??????fprintf(stderr,"could not retrieve filename\n");
??????goto FAIL;
????}

????printf("name:%s\n",name);

????cgiFormFileSize("file", &size);

????//目前文件存在于系統臨時文件夾中,通常為/tmp,通過該命令打開臨時文件。臨時文件的名字與用戶文件的名字不同,所以不能通過路徑/tmp/userfilename的方式獲得文件
????if (cgiFormFileOpen("file", &file) != cgiFormSuccess)
????{
??????fprintf(stderr,"could not open the file\n");
??????//?goto FAIL;
????}


????t=-1;
????//從路徑名解析出用戶文件名
????while(1)
????{
??????tmpStr=strstr(name+t+1,"\\");
??????if(NULL==tmpStr)
????????tmpStr=strstr(name+t+1,"/");//if "\\" is not path separator, try "/"
??????if(NULL!=tmpStr)
????????t=(int)(tmpStr-name);
??????else
????????break;
????}
????strcpy(fileNameOnServer,name+t+1);
????mode=S_IRWXU|S_IRGRP|S_IROTH;
????printf("fileNameOnServer:%s\n",fileNameOnServer);

????//在當前目錄下建立新的文件,第一個參數實際上是路徑名,此處的含義是在cgi程序所在的目錄(當前目錄))建立新文件???
????targetFile=open("/app/www/cgi-bin/www.tar.gz",O_RDWR|O_CREAT|O_TRUNC|O_APPEND,mode);//下載到服務器的具體地址上
????if(targetFile<0)
????{
??????fprintf(stderr,"could not create the new file,%s\n",fileNameOnServer);
??????goto??? FAIL;
????}
????//從系統臨時文件中讀出文件內容,并放到剛創建的目標文件中
????while (cgiFormFileRead(file, buffer, BufferLen, &got) ==cgiFormSuccess){
??????if(got>0)
????????write(targetFile,buffer,got);???
????}
????cgiFormFileClose(file);
????close(targetFile);

?

3.將上傳的文件進行解壓

?? 在這里我使用的是系統命令:system("tar -xvf? 壓縮文件文件名");

4.將解壓之后的文件進行替換:

system("cp 文件名路徑 要替換的文件路徑");

這樣就簡單的完成了一個html網頁的在線升級,這里可能會出現工作效率比較低的問題,但是升級的基本原理就是這樣的,所以如果大家有什么好的方案可以提出來,共同交流學習。

?

?

?

?

總結

以上是生活随笔為你收集整理的关于html页面在线升级问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。