私のサイトメンバーが顧客が聞くために彼らの作曲の短いサンプルをアップロードすることを可能にする基本的なスクリプトを持っています。
一部のファイル名にはスペースがあり、サンプルを再生しようとすると明らかに問題が発生します。一時ディレクトリへのアップロードとファイルの「サンプル」ディレクトリへの移動の間に、これらのスペースをアンダースコアに置き換える方法はありますか?
<?
$url = "http://domain.com/uploads/samples/";
//define the upload path
$uploadpath = "/home/public_html/uploads/samples";
//check if a file is uploaded
if($_FILES['userfile']['name']) {
$filename = trim(addslashes($_FILES['userfile']['name']));
//move the file to final destination
if(move_uploaded_file($_FILES['userfile']['tmp_name'],
$uploadpath."/". $filename)) {
echo "
bla bla bla, the final html output
";
} else{
if ($_FILES['userfile']['error'] > 0)
{
switch ($_FILES['userfile']['error'])
{
case 1: echo 'File exceeded upload_max_filesize'; break;
case 2: echo 'File exceeded max_file_size'; break;
case 3: echo 'File only partially uploaded'; break;
case 4: echo 'No file uploaded'; break;
}
exit;
}
}
}
?>