2009-12-14 81 views
0

我试着将文件上传到我的服务器文件越来越通过FTP客户端上传损坏

my.php(正常的本地文件)

<?php 
$box_title= "SEARCH ME" 
?> 

通过的FileZilla FTP客户端(远程服务器文件)

上传完成后
// SOMETIMES ABOVE FILE BECOMES 
<?php$box_title= "SEARCH ME"?> 

// OR SOMETIMES LIKE THIS 
<?php 

$box_title= "SEARCH ME" 

?> 

我怀疑这是一个服务器相关的问题,但不确定。任何人都可以解决解释这个问题

感谢

+2

它是以ASCII还是二进制模式传输? – 2009-12-14 21:02:36

+0

哪个ftp软件在服务器上运行? – streetparade 2009-12-14 21:08:04

+0

我使用自动模式。它发生在一个特定的共享主机上。其他地方我能够正确上传文件。 – Ish 2009-12-14 21:08:17

回答

2

的上述评论已经建议要ASCII /二进制模式。 FTP是一个奇怪的属性,可以将文件视为ASCII文本(在这种情况下,FTP传输将自动更改线路结尾的编码以适合目标机器使用的编码)或二进制文件(在这种情况下,它们将被传输没有任何改变)。

你在你的问题中引用的伤残可能不是它看起来的一半;一些编辑者实际上并不显示UNIX风格的行结束编码(这是ASCII模式中的FTP可能放入文件中的内容),即使它在那里。

对于行结尾的不同编码是便携式计算材料中不断的悲伤源......在这种情况下,我可以推荐的最好的事情是让您尝试一下,如果它现在以您的方式工作,并且如果它不会,尝试强制您的FTP客户端的传输模式到不同的设置。

+0

我尝试使用“二进制模式”,它工作正常。那么我应该保留它作为未来文件(图像/文件)上传的二进制模式吗? – Ish 2009-12-14 21:17:25

+1

这几乎取决于你。如果生成的文件工作正常,通过一切手段坚持二进制模式。有时如果服务器期望不同的行结束编码比你的文件具有更多的二进制模式,你会得到令人困惑的结果,但你可能不需要担心,直到它发生。 – 2009-12-14 23:44:16

0

我想在我的$ 0.02这个。

正如Jan建议的那样,这绝对是一个ASCII转换问题。

但是,我认为这是不适当或预期的行为从FileZilla cllient。

我通过SFTP(SSH)将Perl文件从Debian Linux客户端传输到Debian Linux服务器。

FileZilla设置为以ASCII模式传输.pl扩展名的文件,但这会产生Ish Kumar在原始问题中指出的错误格式。

以ASCII模式传输的文本文件应该像从Windows到nix一样从* nix转移到* nix。

我怪这个Filezilla。