ftp服务器无法上传图片
您好!
出现这样的情况是由于服务器管理员在服务器上设置了“禁止上传”或者“禁止上传多少大小的”或者“禁止上传何种类型”的,这是出于对他服务器本身的安全考虑出发的。
您可以联系该服务器的管理员,让他给您分配权限。
以上。
这是因为你所用网络IP地址的服务器设置不同造成的。
解决办法:1、点击FTP进入上传页面;
2、左键点击站点管理器,属性里的类型进行修改;
3、数据连接类型由使用全局设置改为使用PORT,或由使用PORT改为全局设置;
4、确定保存就行了,与防火墙无关。
1、在本地电脑上,快捷键“WIN+R"在“运行”中输入“MSTSC”,点击确定。2、在“远程桌面连接”框框点击“选项”。(计算机中输入阿里云服务器的IP地址)3、在的“远程桌面连接”窗口,点击“本地资源”。4、然后点击“详细信息”。5、勾选要上传阿里云服务器的文件所在的本地磁盘,点击确定6、进行用户名和密码核对后连接上远程阿里云云服务器,打开“我的电脑”,就可以看到勾选的本地磁盘映射的盘符。7、打开要上传文件所在磁盘,选择要上传的文件,复制之后粘贴到阿里云服务器自动的磁盘上即完成上传。
ftp是文件传输协议,利用此协议可以在网络上传输文件。
把文件上传到服务器,一般都是使用ftp的方法,因为往往服务器都会提供ftp功能。具体操作需要安装一个方便操作的ftp客户端,例如TotalCommander就很好,在客户端里面建议一个会话,输入服务器的地址、用户名、密码,然后就可以连接服务器,连接成功后可以看见服务器上的文件,可以和本地的进行双向传输(可以上传和下载)。
如果只上传个别文件,可以使用浏览器或者DOS进行传输,浏览器的方法是打开地址:ftp://用户名:密码@服务器地址/,DOS命令是ftp 服务器地址,然后输入用户名和密码。
在本地电脑D:盘创建一个文件夹"qint"。将要上传的文件复制到d:\qint里。通过FTP命令将文件从本地上传到服务器的步骤如下:
1“开始”-“运行”-输入“FTP”
2open qintithotnet 这一步可以与第一步合并,在“运行”里直接输入"ftp qintithotnet"。如果你的FTP服务器不是用的21默认端口,假如端口是2121,那么此步的命令应在后面空格加2121,即“open qintithotnet 2121”
3username 提示你输入用户名
4user1234
5dir 你成功登陆后就可以用dir查看命令查看FTP服务器中的文件及目录,用ls命令只可以查看文件。
6mkdir qint 在FTP服务器上根目录下建立qint目录。
7cd qint 进入目录qint,用“cd 你的目录名”可以进入当前目录的下一级目录,这跟DOS一样。
8bin 采用二进制传输。如果你要上传下载,这一步很重要,不先执行这个命令,上传下载会很慢。
9lcd d:\qint 定位本地默认文件夹,在前面我事先在D:盘创建的。
10!dir 查看本地文件夹中的文件及目录/
11put i001jpg
/将当前目录(d:\qint)中的文件i001jpg上传到FTP服务器默认目录。可以用"mput "将所有文件上传到FTP服务器上。
一个实例:
首先,在自己台式机和笔记本上都开通了ftp,这个不会的同学可以网上查serv-u,相关教程肯定不少的。
然后在台式机本地做了个测试:
$ftp_server = "1921681100";
$ftp_user_name = "laohu";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$file = 'testtxt';
$remote_file = '/test/atxt';
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "文件移动成功\n";
} else {
echo "移动失败\n";
}
ftp_close($conn_id);
运行后:文件移动成功。
要的就是这个效果了,之后用台式机做程序服务器,上传附件时全用ftp方法上传至笔记本上,笔记本ip是105,相应代码如下:
if (is_uploaded_file($_FILES['uploadfile']['tmp_name'])) {
$ftp_server = "1921681105";
$ftp_user_name = "lesley";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$file = $_FILES['uploadfile']['tmp_name'];
$remote_file = '/test/'$_FILES['uploadfile']['name'];
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "文件:"$_FILES['uploadfile']['name']"上传成功\n";
} else {
echo "上传失败\n";
}
ftp_close($conn_id);
}
对应的前台页面代码:
<form action="uploadfilephp" method="post" enctype="multipart/form-data">
<input type="file" name="uploadfile" id="uploadfile" />
<input type="submit" name="submit" value="submit" />
</form>
运行后确实成功。
需要注意:
在用ftp_put方法时,第四个参数传送模式,需要用FTP_BINARY(二进制模式),用FTP_ASCII(文本模式)时,能上传但无法显示,其他文件重命名、中文乱码解决、上传权限控制等,就不在此提及了。
如果ftp服务器设置为匿名用户没有上传权限的话,你是没有权限上传文件的,如果你是ftp的管理员,你可以设置允许用户写入的权限,也就是用户可以将文件上传到服务器上,然后在ie中输入,ftp地址,将要上传的文件直接拖进去就可以了。
0条评论