Eredmény: 1 - 3 (3) összesen

Téma: könyvtár/file átnevezés speciális karakter esetén

  1. #1
    Új tag
    Csatlakozott
    14-09-14
    Hozzászólás
    1
    Thanked 1 Time in 1 Post

    Alapbeállítás könyvtár/file átnevezés speciális karakter esetén

    Sziasztok!
    Egy olyan gondom van, hogy könyvtárat, illetve file-t kellene átneveznem php-vel, viszont ha speciális karaktert talál akkor, nem nevezi át... Próbáltam iconv-al átkonvertálni a file-nevet, de semmi eredmény...
    Csináltam debugot, a script szépen kiszedi illetve átalakítja a spec karaktereket, de mikor átnevezésre kerülne a sor, nem történik semmi. A logban csak annyi van, hogy: warning: rename(xx,yy) z.php. A rendszer felépítése: Windows 8.1 64bit, apache 2.4.10 64bit, illetve php 5.6.0 64bit (charset: utf-8)
    Pl a karakterek, amikkel nem kezd semmit: ÷פ`

    Köszi a segítséget!



  2. Az alábbi felhasználók hálásak a válaszért:

    Norbii (2014-10-18)

  3. #2
    Törzsvendég
    Csatlakozott
    14-08-02
    Hozzászólás
    145
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: könyvtár/file átnevezés speciális karakter esetén

    Szia!
    Én nem értek hozzá annyira, de arra gondoltam, hogy
    PHP kód:
    $ekezetes = array( "á""é""í""ó""ö""ő""ú""ü""ű" );  
    $ekezetmentes = array( "a""e""i""o""o""o""u""u""u" ); 
    $cserelt_str str_replace$ekezetes$ekezetmentes$cserelendo_str ); 
    $cserelt_str preg_replace("/[^\w]+/i"""$cserelt_str ); 
    A $cserelendo_str -nek, és a $cserelt_str -nek pedig beállítod a kívánt dolgot.

    Remélem valamennyit segített.
    Norbi



  4. #3
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: könyvtár/file átnevezés speciális karakter esetén

    Használj preg_replace-t! Ez kiszedi az összes olyan karaktert (pontosabban lecseréli ""-ra, azaz üres stringre), amik nem a 0-9, a-z, A-Z tartományból vannak, és nem -, _, / vagy .

    Kód:
    $strout = preg_replace("/([^0-9a-zA-Z \- \_ \/ \.])/" , "" , $strin);
    Ha más kell még, akkor a a \. után szóköz és \a karakter ami kell. Ha valami azok közül nem kell, akkor ki tudod szedni. De szerintem a példából látszik a felépítése a dolognak.



  5. Az alábbi felhasználók hálásak a válaszért:

    Norbii (2014-10-19)

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •