标签: ftp

如何使文件看起来像在服务器上的根目录中

我有单独的域指向专用框上的单独文档根

我想授予对此文档根目录下的子文件夹ftp-upload的FTP访问权限.

正确的FTP配置不是此问题的一部分

如果授权人员将文件上传到document_root/ftp-upload,则应通过domain.com/file而不是domain.com/ftp-upload/file访问此文件

.htaccess文件位于文档根目录中

我尝试了一些东西,但它们似乎没有用.

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    ## check if the file exists in subfolder
    ##   ...and if found, stop and display it
    RewriteCond %{DOCUMENT_ROOT}/ftp-upload/$1 -f [OR]
    RewriteCond %{DOCUMENT_ROOT}/ftp-upload/$1 -d
    RewriteCond $1 !^$
    RewriteRule  (.*)  %{DOCUMENT_ROOT}/ftp-upload/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 !^(index\.php|images|robots\.txt|css|assets|ftp-upload)
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

我也试过了

RewriteCond  %{DOCUMENT_ROOT}/ftp-upload/${REQUEST_FILENAME} -f
Run Code Online (Sandbox Code Playgroud)

RewriteCond %{DOCUMENT_ROOT}/ftp-upload%{REQUEST_URI} -f
Run Code Online (Sandbox Code Playgroud)

这是一项正在进行的工作,所以这不是最终的解决方案,但是这个功能正在被要求很多.如果可能的话,我宁愿不让他们访问文档根目录.

更新:它看起来像什么工作,什么时候需要......

如果我输入domain.com/test.txt(仅存在于ftp-upload目录中),请求将转至domain.com/index.php/test.txt并在主页上提供服务

如果我输入domain.com/ftp-upload/,我会得到一个包含test.txt的目录列表

如果我点击test.txt,我会得到文件内容(这是"它的工作原理!").如果我输入domain.com/test.txt,我会再次显示文件内容...

我的脑袋爆炸......任何想法?

解决了另一种方式,这里的答案在我的服务器上不起作用.

我现在建立的CMS有另一个用户组'SEO优化'和上传部分.在该部分下,用户可以选择他们要将文件上传到哪个指定位置.如果上传文件夹中存在所请求的文件,则网站index.php(控制器/路由器)将提供服务.没有.htaccess编辑,因为我的服务器表现得很时髦..

php ftp .htaccess apache2

0
推荐指数
1
解决办法
560
查看次数

在java中通过ftp上传文件时收到错误

这是我用来通过FTP使用Jakarta Commons Net将文件上传到远程位置的代码

public boolean ftpTransfer(String localfile, String destinationfile)
        {
            String server = "xxxx";
            String username = "xxxxxx";
            String password = "xxxxxxx";
            try
            {
                FTPClient ftp = new FTPClient();
                ftp.connect(server);
                if(!ftp.login(username, password))
                {
                    System.out.println("login");
                    ftp.logout();
                    return false;
                }
                int reply = ftp.getReplyCode();
                if (!FTPReply.isPositiveCompletion(reply))
                {
                    System.out.println("disconnect");
                    ftp.disconnect();
                    return false;
                }
                InputStream in = new FileInputStream(localfile);
                ftp.storeFile(destinationfile, in);
                in.close();
                ftp.logout();
                ftp.disconnect();
            }
            catch (Exception ex)
            {
                ex.printStackTrace();
                return false;
            }
            return true;
        }
Run Code Online (Sandbox Code Playgroud)

控制台中的错误是

java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method) …
Run Code Online (Sandbox Code Playgroud)

java ftp

0
推荐指数
1
解决办法
3356
查看次数

Python FTP不会传输

我不知道我做错了什么,但这个小的ftp代码不会传输文件.我一直在

文件"example.py",第11行,在?ftp.storlines("STOR"+文件,打开(文件))

ftplib.error_perm:550 /home/helen/docs/example.txt:不允许操作

这是代码:

import ftplib

file = '/home/helen/docs/example.txt'     
ftp = ftplib.FTP('domain', 'user', 'password')
print "File List: "
files = ftp.dir()

ftp.cwd("/upload/")

ftp.storlines("STOR " + file, open(file))

f.close()                               
s.quit()
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

python ftp

0
推荐指数
1
解决办法
3565
查看次数

将数据从网站/服务器加载到iPhone的最佳方式

我有一个自己的网站,我想编写一个应用程序,从中加载数据(字符串/文本),以填充iPhone上的tableview(如待办事项列表).我想一直更改我的应用程序(tableview)的内容而不在App Store中进行更新.当应用程序启动时,它应该从我的网站抓取内容...

我应该使用FTP来做这样的事情还是有更好的方法来加载和操作数据?

ftp load ios

0
推荐指数
1
解决办法
449
查看次数

使用FtpWebRequest将大文件上传到FTP导致"底层连接已关闭"

我正在尝试将相对较大的文件上传到FTP服务器(250-300mb).我在控制台应用程序中执行此操作.

当文件是几MB时,我的程序工作正常,但是大的文件导致:

System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive.
Run Code Online (Sandbox Code Playgroud)

我试图设置超时,但我仍然得到错误.

知道如何修改我的代码,所以我没有得到错误?

我的上传代码:

using(var fs = File.OpenRead(zipFileName)) 
            {
                var ms = new MemoryStream();
                ms.SetLength(fs.Length);
                fs.Read(ms.GetBuffer(), 0, (int) fs.Length);

                FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpUrl + "/" + zipFileName);
                ftp.Credentials = new NetworkCredential(ftpUid, ftpPassword);
                ftp.Timeout = 30000;
                ftp.KeepAlive = true;
                ftp.UseBinary = true;
                ftp.Method = WebRequestMethods.Ftp.UploadFile;


                byte[] buffer = new byte[ms.Length];
                ms.Read(buffer, 0, buffer.Length);
                ms.Close();

                Stream ftpstream = ftp.GetRequestStream();
                ftpstream.Write(buffer, 0, buffer.Length);
                ftpstream.Close();
            }
Run Code Online (Sandbox Code Playgroud)

.net c# ftp console-application .net-4.5

0
推荐指数
1
解决办法
2572
查看次数

尝试上传时,C#覆盖带有空文件的文件(ftp)

我试图通过ftp上传文本文件,当我运行程序时,它清空我的文件,然后上传它.我不知道为什么......可能会覆盖或其他东西......这是我的代码:

这是在Main类

        /* Create Object Instance */
        ftp ftpClient = new ftp(@"ftp://sportcaffe.me", "sport***", "*****");

        /* Upload a File */
        ftpClient.upload("public_html/test.txt", @"C:\Users\Lazar\Desktop\test.txt");
Run Code Online (Sandbox Code Playgroud)

这里是ftp类的功能代码:

/* Upload File */
    public void upload(string remoteFile, string localFile)
    {
        try
        {
            /* Create an FTP Request */
            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
            /* Log in to the FTP Server with the User Name and Password Provided */
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            /* When in doubt, use these options */
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive …
Run Code Online (Sandbox Code Playgroud)

c# ftp

0
推荐指数
1
解决办法
1542
查看次数

消息"读取超时"[Indy-IdFTP]的异常类EIdReadTimeout

我想从FTP下载文件.如果文件很小(通常低于1000MB),它可以工作.但是,如果文件很大,我会得到一个EIdReadTimeout.为什么?我应该保持连接活着吗?据我所知,读取数据有自己的通道,所以我不必保持连接存活.

奇怪的是,异常出现在Get的结尾(Get成功下载整个文件之后):FTP.Get(Name,TempGzFile,TRUE,FALSE)!!!!

文档:

TIdFTP.ReadTimeout - 等待FTP协议响应的毫秒数.

TIdFTP.TransferTimeout - FTP客户端数据通道上读取操作的超时值.

默认情况下,ReadTimeout设置为60秒,TransferTimeout设置为10秒.


我使用Delphi XE7(我猜使用Indy 10).我的IdFTP的被动属性设置为false.

delphi ftp indy indy10

0
推荐指数
1
解决办法
5100
查看次数

使用SSIS将数据加载到文件中(通过SSH在FTP中)

我有SSIS包,将数据加载到文件中.目前该文件位于网络驱动器中,但我的经理希望通过SSH服务器在FTP中使用此文件.我没有看到任何可以做到这一点的SSIS任务.我知道FTP任务在这里不起作用.有人可以帮助我.

sql ftp ssh sftp ssis

0
推荐指数
1
解决办法
427
查看次数

Windows防火墙在Windows Server 2012 r2上阻止IIS上的FTP

我已按照此指南Windows Server 2012 R2上成功设置了FTP.我可以通过登录到ftp并在完全禁用Windows防火墙后查看我的文件.但即使连接也无法连接

  1. 我允许ftp通过防火墙.
  2. 我已经使用本教程配置数据通道端口.
  3. 我确保通过FTP允许相应的端口.

但是一旦启用了Windows防火墙,我就无法连接.任何帮助,将不胜感激.谢谢

iis ftp windows-firewall amazon-ec2 windows-server-2012-r2

0
推荐指数
1
解决办法
7295
查看次数

如何将Node.js应用程序上传到FTP服务器?

我是Node.js的新手,但是我构建了一个应用程序,对此感到非常满意。我想知道如何将Node.js应用程序上传到FTP服务器?甚至有可能这样做吗?

ftp node.js

0
推荐指数
1
解决办法
4997
查看次数