我正在使用我的Android应用程序上传我的wamp服务器上的一些文件。文件已成功上载到服务器上,但文件名中没有[Space]文件的扩展名。每次我尝试打开这些文件时,系统都会提示我选择要打开的应用程序。如果我选择相关的应用程序,文件将成功打开。 有没有办法让这些扩展可用,所以我不必每次都选择一个应用程序?
我的PHP代码是:
$file_path = "uploads/";
$file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
echo "success";
} else{
echo "fail";
} ?>
'
答案 0 :(得分:1)
您可以使用str_replace()
将空格替换为下划线:
$filename = str_replace(' ', '_', $filename);
或使用preg_replace()
$file_path = "uploads";
$file = basename($_FILES['uploaded_file']['name']);
$newfilename = preg_replace('/\s+/', '_', $file);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path. "/" .$newfilename))
答案 1 :(得分:1)
我将我的java代码更新为以下内容:
以前的代码
dos.writeBytes("Content-Disposition: form-data; name= \"uploaded_file\";filename="+ fileName + "" + lineEnd);
更新代码
dos.writeBytes("Content-Disposition: form-data; name= \"uploaded_file\";filename="+ fileName.replace(" ", "_") + "" + lineEnd);
答案 2 :(得分:-1)
$file_path = "uploads/";
$fine_name=basename($_FILES['uploaded_file']['name']).'.'."txt";//<put extention here like txt,apk,htm,mp3 etc>
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path."/".$fine_name)) {
echo "success";
} else{
echo "fail";
}