Portál AbcLinuxu, 10. května 2025 10:54

Dotaz: PHP Jak vypsat cestu+název souboru

20.8.2013 11:10 Jakub
PHP Jak vypsat cestu+název souboru
Přečteno: 363×
Odpovědět | Admin
Zdravím, poradí někdo co napsat do souboru /var/www/prace/admin/index.php abych dostal výsledek "/var/www/prace/admin/index.php"? Díky moc za pomoc.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.8.2013 11:14 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Třeba
<?php
  echo __FILE__;
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
20.8.2013 11:28 Jakub
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
Díky moc a šlo by ten výsledek nějak zakodovat a zpětně dekodovat pomocí nějakého klíče?
$file = __FILE__; // /var/www/prace/admin/index.php
$key = 's654gf6s54dfs6d5'; // muj klic pro kodovani a dekodovani
$tajne = zakoduj($file, $key); // 8w798rte79g8fd4s5g4sdg46a54g6dsa5gf4
$ukaz = dekoduj($tajne, $key); // /var/www/prace/admin/index.php
Díky
20.8.2013 11:57 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
koukni se na Mcrypt Functions
function encrypt($str, $key)
{
    $block = mcrypt_get_block_size('des', 'ecb');
    $pad = $block - (strlen($str) % $block);
    $str .= str_repeat(chr($pad), $pad);

    return mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
}

function decrypt($str, $key)
{  
    $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);

    $block = mcrypt_get_block_size('des', 'ecb');
    $pad = ord($str[($len = strlen($str)) - 1]);
    return substr($str, 0, strlen($str) - $pad);
}
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
20.8.2013 12:04 Jakub
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
Diky, tu funkci jsem studoval, ale výsledky jsou nepoužitelné, jelkož mám vždy na výstupu něco jako 8��_?�:� Ȝ��!�C�V?% a kodovani pro utf-8 jsem nenašel :-(
20.8.2013 12:27 potato
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
Jaké UTF-8? Je to binární řetězec, takže ho representuj v Base64.
Tarmaq avatar 20.8.2013 13:22 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
function encrypt($str, $key)
{
    $block = mcrypt_get_block_size('des', 'ecb');
    $pad = $block - (strlen($str) % $block);
    $str .= str_repeat(chr($pad), $pad);
 
    return base64_encode(mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB));
}
 
function decrypt($str, $key)
{ 
    $str = mcrypt_decrypt(MCRYPT_DES, $key, base64_decode($str), MCRYPT_MODE_ECB);
 
    $block = mcrypt_get_block_size('des', 'ecb');
    $pad = ord($str[($len = strlen($str)) - 1]);
    return substr($str, 0, strlen($str) - $pad);
}

$key = 'p455w0rd';
$encrypted = encrypt('Lorem ipsum dolor sit amet', $key);
echo $encrypted."\n";
$decrypted = decrypt($encrypted, $key);
echo $decrypted."\n";
Don't panic!
Tarmaq avatar 20.8.2013 13:23 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
vystupem je pak:
V3rAUkwOt9iBv/fDZ3XHoexNA9RDdQimuRf9qmXS2xM=
Lorem ipsum dolor sit amet
Don't panic!
20.8.2013 13:51 Jakub
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
Díky moc, už to jde... Zjistil jsem pro mne zajímavý poznatek který si nedokážu vysvětlit. Pokud je výstupem: V3rAUkwOt9iBv/fDZ3XHoexNA9RDdQimuRf9qmXS2xM= a ten budu následně pomocí decrypt() uvádět do původního stavu, jak je možný, že dostanu původní stav při zadání V3rAUkwOt9iBv/fDZ3XHoexNA9RDdQimuRf9qmXS2xM= tak i když zadám V3rAUkwOt9iBv/fDZ3XHoexNA9RDdQimuRf9qmXS2xM. Díky za objasnění.
20.8.2013 15:34 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
http://cs.wikipedia.org/wiki/Base64.
base64_decode si zjevně poradí s nezarovnaným řetězcem, tipl bych si že je jedno kolik těch '=' tam na konci bude.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
rADOn avatar 20.8.2013 15:44 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
Base64 prekoduje vzdy 3byte do ctyr alfanumerickych znaku. Rovnitka na konci jsou vycpavka ktera se pridava aby byl vystup delitelny ctyrmi. Neni to nezbytne ale lepe se pisou dekodery (muzes pracovat nad ctyrbajtovym bufferem a mit jistotu ze bude vzdy plny) proto se to stalo soucasti standartu.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
20.8.2013 16:32 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
Součástí vlajky, které země? :-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
rADOn avatar 20.8.2013 16:36 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: PHP Jak vypsat cestu+název souboru
Československa :-)
"2^24 comments ought to be enough for anyone" -- CmdrTaco

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.