2016-07-08 14 views
0

を別の同様の文字に影響を与えることなく、所定の位置に文字を置き換え、私はこの種類のPDFファイル名を持つファイル名内

20160.pdf

と私は位置4数で0を交換したいと思います0を開始、私は、このようなものを使用して

$filename[0] = "20160"; 
$filename[1] = "pdf"; 
$adds  = 1; 
$new_filename = str_replace($filename[0][4], $adds, $filename[0]) . '.' . $filename[1]; 

を試してみました文字列の長さがfilename[0]になることによって生成された$filename[0][4]の。

質問は、ファイル名内の別の類似文字に影響を与えずに、位置4の文字を置き換える方法ですか?

+3

あなたの予想される出力はどのようなものですか? –

+3

あなたは直接$ filename [0] [4] = 'wahteveryouwant' < - 前に長さを確認することができます。 –

+0

すべての出現を 'str_replace'が置き換えます。置き換える文字が常に同じ位置にある場合は、@ KA_linの提案で十分でしょう。それ以外の場合は 'preg_replace'を使用することができます – marekful

答えて

1

ここに行ってください!

$filename[0] = "20160"; 
$filename[1] = "pdf"; 
$adds  = 1; 

$filename[0][strlen($filename[0]) - 1] = $adds; 

echo $newfilename = $filename[0].'.'.$filename[1]; 

と出力 "20161.pdf"

+0

ニースは似たようなアイデアを持っていますが、動的ファイル名に便利なもう一つの便利な機能があると思います。 – Fil

+0

はい、私があなたに投票した理由は何ですか? – Fil

関連する問題