![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 15.09.2003 Skąd: zambrow Ostrzeżenie: (0%) ![]() ![]() |
czy moze ktoś wie jak podczas podbierania nazywy plików z katalogu usunąc rozszerzenie?
-------------------- junior
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
1. To już było... Następnym razem proszę korzystać z wyszukiwarki.
2. Przydatna będzie funkcja [manual:561d2bc924]explode()[/manual:561d2bc924]. -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 0 Dołączył: 9.07.2003 Skąd: Lublin city Ostrzeżenie: (0%) ![]() ![]() |
Samo explode bedzie dobre, ale zalozmy ze nazwa pliku ma kilka kropek i dopiero na koncu jest rozszerzenie? Wpadlem na takie cos:
[php:1:7dfd19799a]<?php $plik="dup.aja.si.a.bmp"; //odnajduje ostatnie wystapienie kropki $roz=strrchr($plik,"."); //dzieli nazwe pliku na tablice gdzie separatorem jest rozszerzenie $nazwa=explode("$roz",$plik); //wyswietlenie nazwy pliku print "Nazwa pliku: $plik, rozszerzenie: $roz, nazwa podstawowa: ".$nazwa[0]; ?>[/php:1:7dfd19799a] A moze poprostu jest jakas wbudowana funkcja do tego? Pozdro. -------------------- (none)
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 208 Pomógł: 0 Dołączył: 19.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
[php:1:be3b1fe5da]<pre><?php
/** * Miracle Renamer System 0.0.0.1 ALPHA * Katalog, w ktorym sa pliki musi miec uprawniania 0777 **/ #sciezka do plikow, musi konczyc sie znakiem: / $path = $_SERVER['DOCUMENT_ROOT'] . '/szablon.com/'; #rozszerzenia, ktore nalezy wziasc pod uwage ![]() $exts = array( 'html', 'htm', 'rar', 'tar.gz', 'zip', 'php', 'php3', 'm', 'css' ); $exts = implode( '|', $exts ); $rexp = '/(.+?).(' . $exts . ')/i'; $handle = dir( $path ); $handle->read(); $handle->read(); $files = array(); while ( FALSE !== ( $file = $handle->read() ) ) { if ( !( is_dir( $path . $file ) ) ) { $files[] = $file; } } foreach ( $files AS $key => $value ) { preg_match( $rexp, $value, $matches ); print rename( $path . $value, $path . $matches[1] ) . "n"; } ?></pre>[/php:1:be3b1fe5da] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
[php:1:e3b86a5d3d]<?php
// ... foreach ( $files AS $key => $value ) { preg_match( $rexp, $value, $matches ); print rename( $path . $value, $path . $matches[1] ) . "n"; } ?>[/php:1:e3b86a5d3d] preg_match() w pętli - tragedia... Chyba że chcesz zażynać serwer... :? Ja proponuje tak: [php:1:e3b86a5d3d]<?php $dir = './'; if( $handle = opendir($dir) ) { while( false !== ( $file = readdir($handle) ) ) { if($file != "." && $file != "..") { if( is_file($file) ) { $tab = @explode('.', $file); if( count($tab) > 1 ) { $ext = array_pop($tab); $filename = @implode('.', $tab); echo 'Nazwa pliku: <b>' . $filename . '</b>, rozszerzenie: <b>' . $ext . "</b><br />rn"; } else { echo 'Nazwa pliku: <b>' . $file . "</b><br />rn"; } } } } closedir($handle); } ?>[/php:1:e3b86a5d3d] -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A nie krócej?
[php:1:29b459f371]<?php $plik="plik.z.wieloma.kropkami.w.nazwie.html"; $tmp=explode(".",$plik); echo $tmp[count($tmp)-1]; ?>[/php:1:29b459f371] -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 29.08.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat A nie krócej?
[php:1:b403fa90d8]<?php $plik="plik.z.wieloma.kropkami.w.nazwie.html"; $tmp=explode(".",$plik); echo $tmp[count($tmp)-1]; ?>[/php:1:b403fa90d8] Twoj kod wyswietli rozszerzenie -- o to chyba autorowi pytania i kodu nie biega ![]() -------------------- pozd.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Twoj kod wyswietli rozszerzenie -- o to chyba autorowi pytania i kodu nie biega
![]() Ech... :-) Tak to jest jak zaczybna się pisać bez porannej kawy... To poprawny kod jest taki: [php:1:87bb2933d4]<?php $plik="plik.z.wieloma.kropkami.w.nazwie.html"; $tmp=explode(".",$plik); unset($tmp[count($tmp)-1]); $nazwa=implode(".",$tmp); ?>[/php:1:87bb2933d4] -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:37 |