简单文件上传-如何添加.jpg扩展名
Simple file upload - how to add .jpg extension
我正在创建一个非常简单的管理面板,我想上传一个文件,但这只是一个静态名称的文件。我有这个代码:
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
<?php
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename(uploadedfile.jpg);
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
这是可行的,但是上传的文件名称为 "uploadedfilejpg",因此没有扩展名。如何解决此问题以添加扩展名?我只想上传jpg文件并覆盖旧文件。
您的 PHP 脚本第 4 行有一个错误。您有 basename(uploadedfile.jpg)
,这是一个错误。我假设你打算写 basename('uploadedfile.jpg')
,但由于在文件名上使用 basename
只是 returns 文件名(感谢@CBroe 注意到这一点),你不妨只使用 'uploadedfile.jpg'
.
它应该是这样的:
<?php
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . 'uploadedfile.jpg';
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
替换此行:
$uploadfile = $uploaddir . basename('uploadedfile.jpg');
与:
$uploadfile = $uploaddir . basename('uploadedfile.jpg'). '.jpg';
我正在创建一个非常简单的管理面板,我想上传一个文件,但这只是一个静态名称的文件。我有这个代码:
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
<?php
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename(uploadedfile.jpg);
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
这是可行的,但是上传的文件名称为 "uploadedfilejpg",因此没有扩展名。如何解决此问题以添加扩展名?我只想上传jpg文件并覆盖旧文件。
您的 PHP 脚本第 4 行有一个错误。您有 basename(uploadedfile.jpg)
,这是一个错误。我假设你打算写 basename('uploadedfile.jpg')
,但由于在文件名上使用 basename
只是 returns 文件名(感谢@CBroe 注意到这一点),你不妨只使用 'uploadedfile.jpg'
.
它应该是这样的:
<?php
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . 'uploadedfile.jpg';
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
替换此行:
$uploadfile = $uploaddir . basename('uploadedfile.jpg');
与:
$uploadfile = $uploaddir . basename('uploadedfile.jpg'). '.jpg';