"é" gibi özel karakterler ile dosya adını

2 Cevap php

Ben sadece rastgele dosyalar için web sitemdeki bir klasör var. Ben sayfayı biraz stil böylece tüm dosyaları listelemek için php opendir kullanılır. Ama ben onlara özel karakterler ile yüklenen dosyalar çalışmıyor. i onlara tıkladığınızda dosyalar bulunamadı diyor. i dizini kontrol ederken ancak, dosyaları vardır. bağlantıları yanlış gibi görünüyor. ben onlara özel karakterler ile bu dosya adları için doğru bir bağlantı alabilirsiniz nasıl herhangi bir fikir var mı?

2 Cevap

Bu zordur. Bu dosya sistemini şifreleyen dosya ve nasıl (varsa) web sunucusu veya PHP fonksiyonları kodlama dönüştürmek için kullandığı ne bağlıdır.

Her şeyden önce, linkler never unencoded ASCII olmayan karakterler kullandığınızdan emin olun. URL'leri UTF-8 olmalıdır, yani é% C3% A9 olarak kodlanmış olmalıdır. Bu işe yaramazsa, (ISO-8859-1'de yer é)% E9 deneyin.

Sen iconv() function kodlamaları dönüştürmek için yararlı bulabilirsiniz. rawurlencode() zorunludur.

Bu çalıştırırsanız onları görüyorsunuz?

foreach (new DirectoryIterator('/path/to/folder') as $fileInfo) {
    if($fileInfo->isDot() || $fileInfo->isDir()) continue;
    echo $fileInfo->getFilename() . "<br>\n";
}

EDIT: sadece ben soruyu oynanırsa gerçekleşmiştir. PorneL gibi kodlama sorunu büyük olasılıkla onun bir çeşit diyor