Dosya uzantısı olmadan PHP Get Dosya Adı

5 Cevap php

Bu kodu vardır:

    function ShowFileExtension($filepath)
{
    preg_match('/[^?]*/', $filepath, $matches);
    $string = $matches[0];

    $pattern = preg_split('/\./', $string, -1, PREG_SPLIT_OFFSET_CAPTURE);

    if(count($pattern) > 1)
    {
        $filenamepart = $pattern[count($pattern)-1][0];
        preg_match('/[^?]*/', $filenamepart, $matches);
        return strtolower($matches[0]);
    }
}

Ben bir dosya adında my.zip varsa, bu fonksiyon döndürür .zip.

Şimdi ben işlevi uzantısı olmadan my dönmek istiyorum, tersini yapmak istiyorum.

tip:the file is not in the server its just name from variable

5 Cevap

Eğer uzatma biliyorsanız @ Gordon basename dont eğer patlayabilir kullanabilirsiniz, iyi çalışır:

$filename = end(explode(".", $file));

http://php.net/manual/en/function.pathinfo.php

pathinfo($path, PATHINFO_FILENAME);

Başka bir yaklaşım düzenli ifadeler kullanmaktır.

$fileName = basename($filePath);
$fileNameNoExtension = preg_replace("/\.[^.]+$/", "", $fileName);

Bu dizenin sonuna kadar son dönemde . yukarı kaldırır.