smazani znaku backslash "\" behem ftp transferu

zdarte,

pri pokusu nahrat *.php skripty via ftp mi po prenosu mizi vsechny znaky backslash "\".

napr: echo "<body>\n"; ... se prenese jako echo "<body>n"; ... coz jaksi nemuze fungovat

tusim ze prichozi skripty prejdou ( z duvodu umisteni reklamy ) pres nejaky filter ... a tam by mohl byt kamen urazu :-)

nevite co s tim ?

pouzivam ftp Linux -> UNIX

dik,

ondra
FTP prenos neovlivnuje obsah souboru.
Takze bych se podival nekde jinde. Nejlepe u sebe.
Jakym zpusobem posilas soubory? Klasickym zpusobem by se to nemelo stat a to ani v linuxu. Mozna mas neco blbe nastaveneho.
dik za odpoved,

pouzivam klasicky ftp klient nainstalovan v ramci CentOS.

oba zpusoby:

ftp> bi
ftp> put index.php

ftp> as
ftp> put index.php

prenesou index.php bez znaku backslah.

pro srovnani jsem pouzil jeste gFTP klient - vysledek stejny. upozrnuju ze na jine 'zadarmo' servery to jde bez problemu, proto se domnivam ze chyba nebude na mem vysilaci, ale na protejsim prijimaci :-)

ondra
zkusil jsem to a přeneslo se mi to na doménu webz.cz v pořádku - já na příjmači (195.122.194.233), žádnou závadu nepozoruji
ondra:
FTP server pracuje se seoubory, ne s jejich obsahem. Tudíž je mu úplně jedno, jestli přenášíš PHP skripty nebo tvrdý porno (i když to porno by mohlo vadit správci serveru - zvlášť až by se okoukalo ;).

Tudíž asi bude problém někde u tebe. Zkus se podívat, jakou metodu přenosu tebou používaný klient používá a případně jí změnit (ASCII -> Binární, nebo tak něco)
<HTML>Nemá ten váš exotický systém nějaká spešl FTP nastavení? Protože je fakt nemysl, aby webzdarma házel zpětná lomítka do koše.

BTW, vy jste to zkoušel asi jenom na webzdarma, že? (Nebo aspoň jsem nikde nečetl, kde vám to zpětná lomítka nežralo)</HTML>
no ono to cele vzniklo tak, ze po nahrani *.php scriptu na server se mi objevil nejaky "parse error". tak jsem se pres webove admin rozhrani kouknul na postizeny soubor a tam ty zpetna lomitka nejsou. patrne je na editor / kodovani nevim, ale to je jedno. jdyz jsem si ten postizeny *.php soubor stahl zpet k sobe, tak tam tylo lomitka jsou. cili vse je ok.

zaroven jsem ale prisel i na to, proc mi to hazi "perse error". automaticky vkladana reklamni lista totiz modifikovala command:

echo "</body>\n";

nasledovne:

echo "<!--WZ-REKLAMA-1.0IZ--><div align="center"><table width="496" border="0"
cellspacing="0" cellpadding="0"><tr><td><a href="http://www.webzdarma.cz/"><img
src="http://i.wz.cz/banner/nudle03.gif" width="28" height="60"
style="margin: 0; padding: 0; border-width: 0" alt="WebZdarma.cz" /></a></td><td>
<script type="text/javascript">
<!-- /* (c) 2001 AdCycle.com All Rights Reserved.*/
var id=366; var jar=new Date();var s=jar.getSeconds();var m=jar.getMinutes();
var flash=s*m+id;var cgi='http://ad.wz.cz';
var p='<iframe src="'+cgi+'/ad.cgi?gid=29&t=_top&id='+flash+'&type=iframe" ';
p+='height="60" width="468" border="0" marginwidth="0" marginheight="0" hspace="0" ';
p+='vspace="0" frameborder="0" scrolling="no">';
p+='<a href="'+cgi+'/click.cgi?gid=29&id='+flash+'" target="_top">';
p+='<img src="'+cgi+'/ad.cgi?gid=29&id='+flash+'" width="468" height="60" ';
p+='border="0" alt="Klikni" /></'+'a></'+'ifra'+'me>'; document.write(p); // -->
</script><noscript><div><a href="http://ad.wz.cz/click.cgi?gid=29&id=366"><img
src="http://ad.wz.cz/ad.cgi?gid=29&id=366"
width="468" height="60" style="margin: 0; padding: 0; border-width: 0" alt="Klikni" /></a></div></noscript>
</td></tr></table></div>
<!--WZ-REKLAMA-1.0IK--></body>\n";


... a to opravdu nemuze fungovat ...
Na wz ten webovy 'editor' fungoval vzdycky takovym specifickym zpusobem :/ (z vlastni zkusenosti, mozna je to v posledni dobe lepsi, precejenom jsem si zvykl jej nepouzivat :) )...
"tak jsem se pres webove admin rozhrani kouknul na postizeny soubor a tam ty zpetna lomitka nejsou"

Jasně, že nejsou, web ta zpětná lomítka interpteruje a nezobrazí. Stáhni si ten soubor přes FTP zpátky do počítače a podívej se na něj přes textový editor.

Ad reklama: nasměruj si reklamní baner do souboru a ten následně includni do stránky. A máš po problému. Robot ten baner strčí, kam jej napadne a pak se divíš.
z pohledu html je to spravne, z pohledu php samozrejme nikoli. tak to vypada, ze ten automaticky script, ktery do zdrojaku pridava reklamni prouzek, jaksi nepocita s PHP syntaxi. a editovat kazdy postizeny soubor pres webove rozhrani a doplnovat zpetna lomitka pred kazdou uvozovku a apostrof ( navic kdyz ten webovy editor - phpWebFTP - ma problem zpetna lomitka zobrazit ) je docela nekomfortni.

btw: napriklad prikaz:

echo "<head>\n";

ma nasledujici zdrojovy kod v phpWebFTP

echo "<head>n";

... nechybi vam tam neco :-)
i tak dik za vsechny podnety :-)

ondra
Pochop, že phpWebFTP je totální nouzovka a rozhodně není vhodný na php skripty. Používej klasický FTP klient a nebude co řešit.

Jasně, že echo "<head>\n"; se ve WEBOVÉM prohlížeči (nebo to nazývej třeba editoru) zobrazí jako echo "<head>n"; Když to následně uložíš, tak to způsobí ty problémy.
jo a mimochodem, pokud si soubor stahnu zpet do pocitace, upravim ( reklama > *.inc a ten se pak inkluduje) a pak ho zase nahraju zpet, tak se dostavam do uplne stejne situace nebot pri nahravani mne opet 'atakuje' automaticky vkladac reklamy :-)

trosku nekonecna smycka ....
<HTML>Nastav vkládání reklamy do konkrétního souboru, robot si pak ostatních souborů nebude všímat.</HTML>
<HTML>Buďto vkládat reklamu do zvláštního souboru, kde nebude <body> obaleno v php syntaxi, nebo z té PHP syntaxe vylézt, třeba takto:

// ... php kódy ...
?>
<body>
<?
// další kódy</HTML>
Vždyť už jsem ti psal řešení v 8:52

"Ad reklama: nasměruj si reklamní baner do souboru a ten následně includni do stránky. A máš po problému."