文件批量下载代码|php如何一次下载多个文件

❶ php如何一次下载多个文件

这个要利用javascript技巧才行,单独的PHP是无法实现的,经过我的测试,下面的代码可以实现同时下载多版个文件权:<script language=javascript>var urls=new Array('result.xls','201110x.rar','a.exe');for (i in urls) document.write('<a id="d'+i+'" href="'+urls[i]+'" target=_blank>x</a>');for (i in urls) document.getElementById('d'+i).click();</script>你PHP程序输出这样的代码就可以,主要是用for循环生成第二行urls数组的定义。

❷ 怎样批量下载html代码里面的图片 html不是在线的,本地文件

从html文件中下载图片,又不要在线下载,这怎么可能,html只是标记语言,文件都还在网上呢!

❸ 下载文件的代码

用MFC的CInternetFile,CInternetSession,CHttpConnection等类,已知服务器名及文件路径,代码越简单越好。以下是代码片段://Download http file through proxy//——————————————————————————–We can find details about Proxy Authentication and Sever Authentication methed in MSDN.Just search for the keyword "INTERNET_OPTION_USERNAME".Here I give a very simple example. It works in my project.CString GeHttptFile(const char *url){ CString szContent; char strProxyList[MAX_PATH], strUsername[64], strPassword[64];//in this case "proxya" is the proxy server name, "8080" is its port strcpy(strProxyList, "proxya:8080"); strcpy(strUsername, "myusername"); strcpy(strPassword, "mypassword"); DWORD dwServiceType = AFX_INET_SERVICE_HTTP; CString szServer, szObject; INTERNET_PORT nPort; AfxParseURL(url, dwServiceType, szServer, szObject, nPort); CInternetSession mysession; CHttpConnection* pConnection; CHttpFile* pHttpFile; pConnection = mysession.GetHttpConnection(szServer, INTERNET_FLAG_KEEP_CONNECTION, INTERNET_INVALID_PORT_NUMBER, NULL, NULL); pHttpFile = pConnection->OpenRequest("GET", szObject, NULL, 0, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION); //here for proxy INTERNET_PROXY_INFO proxyinfo; proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY; proxyinfo.lpszProxy = strProxyList; proxyinfo.lpszProxyBypass = NULL; mysession.SetOption(INTERNET_OPTION_PROXY, (LPVOID)&proxyinfo, sizeof(INTERNET_PROXY_INFO)); pHttpFile->SetOption(INTERNET_OPTION_PROXY_USERNAME, strUsername, strlen(strUsername)+1); pHttpFile->SetOption(INTERNET_OPTION_PROXY_PASSWORD, strPassword, strlen(strPassword)+1); pHttpFile->SendRequest(NULL); DWORD nFileSize = pHttpFile->GetLength(); LPSTR rbuf = szContent.GetBuffer(nFileSize); UINT uBytesRead = pHttpFile->Read(rbuf, nFileSize); szContent.ReleaseBuffer(); pHttpFile->Close(); delete pHttpFile; pConnection->Close(); delete pConnection; mysession.Close(); return szContent;}bool SaveUrl(LPCTSTR url, LPCTSTR filename){ HINTERNET hNet = ::InternetOpen("Outlook", PRE_CONFIG_INTERNET_ACCESS, NULL, INTERNET_INVALID_PORT_NUMBER, 0) ; HINTERNET hUrlFile = ::InternetOpenUrl(hNet, url, NULL, 0, INTERNET_FLAG_RELOAD, 0) ; char buffer[10*1024] ; DWORD dwBytesRead = 1; BOOL bRead=TRUE; CFile file; file.Open(filename,CFile::modeCreate|CFile::modeWrite); while(bRead&&dwBytesRead>0) { bRead = ::InternetReadFile(hUrlFile, buffer, sizeof(buffer), &dwBytesRead); if(dwBytesRead>0) file.Write(buffer,dwBytesRead); } ::InternetCloseHandle(hUrlFile) ; ::InternetCloseHandle(hNet) ; file.Close(); AfxMessageBox("finished"); return bRead;}void CC02021101Dlg::OnOK(){ // TODO: Add extra validation here bool bret=SaveUrl("http://club.pchome.net/bbs2.php?topic=40&lanmuid=2","C:\\temp\\test.html"); if(bret) AfxMessageBox("true"); else AfxMessageBox("false");}下载事件说明:OnDownloadBegin <–开始下载OnDownloadComplete <–下载结束OnDocumentComplete <–页面下载完毕对于每个HTML页面,顺序都是如此.如果是Frame或IFrame的文件都会当成HTML页面处理.也就是说如果一个页面中有3个IFrame,那么总共会触发4次BeforeNavigate2事件.对于每个连接且需要显示出来的二进制文件(如*.gif,*.bmp,*.jpg…)都会触发一个DownloadBegin和DownloadComplete事件.那我们怎么判断是否全部下载完毕呢?嘿嘿,TWebBrowser控件不是有一个Busy属性的吗?包括相关文件:#include #include #import 做成了:Bool GetFromWeb(LPSTR pURL, LPSTR SaveAsFilePath ) { CInternetSession session; //会话期对象)CHttpConnection* pServer = NULL; // 指向服务器地址(URL)CHttpFile * pHttpFile = NULL;// HTTP文件指针CString strServerName; //服务器名CString strObject; //查询对象名(http文件)INTERNET_PORT nPort; //端口DWORD dwServiceType; //服务类型DWORD dwHttpRequestFlags = //请求标志INTERNET_FLAG_EXISTING_CONNECT INTERNET_FLAG_NO_AUTO_REDIRECT;const TCHAR szHeaders[] =_T("Accept: text/*\r\nUser-Agent:HttpClient\r\n");BOOL OK=AfxParseURL( //词法分析pszURL, //被分析URL串dwServiceType, //服务类型,ftp,http等strServerName, //服务器名strObject, //URL中被查询对象nPort ); //URL指定的端口,可能为空OK=OK && //本例只考虑http协议(dwServiceType ==INTERNET_SERVICE_HTTP);if (!OK) { AfxMessageBox("URL出错"); //报错return false; }pServer = session.GetHttpConnection(strServerName, nPort); /获得服务器名pHttpFile = pServer-> OpenRequest( CHttpConnection::HTTP_VERB_GET,strObject, NULL, 1, NULL, NULL,dwHttpRequestFlags);//向服务器发送请求,建立http连接,//建立本机上的http文件指针pHttpFile->AddRequestHeaders(szHeaders);pHttpFile->SendRequest(); //发送请求CStdioFile f; //输出文件对象if( !f.Open( //打开输出文件SaveAsFilePath, CFile::modeCreate | CFile::modeWrite | CFile::typeText ) ) { MessageBox( "Unable to open file"; return false;}//下面将检索结果保存到文件上TCHAR szBuf[1024]; //缓存while (pHttpFile->ReadString(szBuf, 1023))f.WriteString( szBuf );f.Close(); //善后工作pHttpFile ->Close();pServer ->Close();if (pHttpFile != NULL) delete pHttpFile;if (pServer != NULL) delete pServer;session.Close();return true;}

❹ 如何批量从ftp批量下载文件

如果你是WIN系统或者linux系统自带的FTP,就是用代码循环。

你用的是客户端的话更简单了,把需要下载的勾选的直接下就可以了,比如这款IIS7服务器管理软件。

它的操作简单,功能强大可应用于win系列的操作系统(含VPS、VM);还可应用于linux操作系统:CentOS、Ubuntu、Debian等,支持命令及可视化SFTP管理;linux的vnc、win的vnc;FTP,webshell等,同时适合机房管理、站长、运维工作、程序员,等需要大量服务器或者电脑的用户朋友使用范围很广。IIS7服务器管理工具能够作为FTP的客户端,进行FTP的命令操作,定时备份上传下载,自动更新。可在客户端,下载,安装FTP软件!同时,它也可以作为VNC的客户端,进行VNC的命令操作!它能够批量连接Windows和Linux系统下的服务器和VPS,并能够实时监测他们的连接状态,便于日常维护和操作!

❺ 上网找到的PHP批量下载图片文件代码: 能不能说一说上具体怎样实现

比如说有个style.css 里面有a.jpg b.jpg等图片文件 。程序读取sytle.css里的各个图处的路径,即 …/a.jpg , …./b.jpg 然后读到一个数组里。再遍历这个数组,找到每一个图片,下载下来。就这样简单,希望能帮到你,^-^

❻ 如何批量下载excel表中链接上的图片

1、先来看一下,Excel文档中有很多图片,现在就要把他们导出来,关闭Excel

❼ 求PYTHON批量下载文件的代码,谢谢

实在不行,就用现成的工具吧,比如:

勾选超大容量模式。

❽ 易语言如何批量下载文件(用于下载电子书。) 求源代码。

网址有规律吗?写到文件(http读文件())记次循环网址有规律吗?说下规律

❾ VB中 一键把一个文件下载到指定位置的代码

第一种 后台下载声明:Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long然后在代码里直接调用:Call URLDownloadToFile(0, "网络地址", "保存到本地的地址和文件名", 0, 0)第二种 相当于“另存为”声明:Private Declare Function DoFileDownload Lib "shdocvw.dll"(ByVal lpszFile As String) As Long然后在代码里直接调用:Dim AdUrl As StringAdUrl = StrConv(“网络地址”, vbUnicode)Call DoFileDownload(AdUrl)

❿ 有没有自动后台下载文件的Bat批处理代码或C语言代码

我有一个VBS下载文件的代码,可以给您看看。

DimUrl,TargetUrl="http://127.0.1/file.jpg"Target="file.jpg"DownloadUrl,TargetSubDownload(url,target)ConstadTypeBinary=1ConstadSaveCreateOverWrite=2Dimhttp,adoSethttp=CreateObject("Msxml2.ServerXMLHTTP")http.open"GET",url,Falsehttp.sendSetado=createobject("Adodb.Stream")ado.Type=adTypeBinaryado.Openado.Writehttp.responseBodyado.SaveToFiletargetado.CloseEndSub


赞 (0)