我正在使用WinSCP将文件传输到FTP站点。我目前的情况是文件夹中的一个特定文件在上传时丢失了所有格式,导致PHP文件不再有效。
文件夹中的所有其他PHP文件在上传时都能正常工作。
我无法理解为什么只有一个文件会以这种方式受到影响。任何人都可以对这种情况有所了解吗?
答案 0 :(得分:1)
该文件可能是通过ASCII mode传输的,这将修改文件的编码和行结尾。
答案 1 :(得分:0)
正如你没有说明“失去格式”究竟是什么意思,无论如何都很难回答:
根据src的答案,如果行结尾因ASCII /文本模式传输而发生变化,则如果在不支持目标行结尾的编辑器中打开,则生成的转换文件可能会被视为丢失格式。虽然这几乎不能解释为什么只有一个受影响的文件。 虽然WinSCP可以在技术上选择不同的传输模式,例如基于文件大小或修改时间戳,如果配置,我怀疑你做了。还要注意WinSCP默认为二进制传输模式。如果你说明你实际使用WinSCP的传输模式会有所帮助。此信息的权威来源是WinSCP会话日志文件。同时共享日志文件的相关部分也有助于调查。
另一种可能性是,受影响的源文件首先是使用不同的行结尾创建的(就像在通常使用的编辑器中一样)。因此,问题与传输模式或WinSCP无关。只有在使用仅支持其中一种行结束格式的远程端的第三个编辑器打开文件后,才会显示差异。
虽然在这两种情况下,该文件仍应在PHP中运行,因为PHP支持Unix和Windows行结尾。可能源文件有这样一种奇怪的格式,在ASCII /文本模式传输过程中,服务器感到困惑并错误地转换了文件。但这只是一个疯狂的猜测。
同样,我们需要更多信息来帮助您。