PHP简单文件上传

PHP简单文件上传,php,file-upload,Php,File Upload,我正在使用以下脚本执行一个简单的文件上载: $errors = ''; $target_path = "[PATH HERE]"; $target_path = $target_path . basename($_FILES['uploadFile']['name']); if(move_uploaded_file($_FILES['uploadFile']['tmp_name'], $target_path)) { $errors = "The file ". basenam

我正在使用以下脚本执行一个简单的文件上载:

$errors = '';
$target_path = "[PATH HERE]";

$target_path = $target_path . basename($_FILES['uploadFile']['name']); 

if(move_uploaded_file($_FILES['uploadFile']['tmp_name'], $target_path)) {
     $errors = "The file ".  basename( $_FILES['uploadFile']['name']). " has been uploaded";
} else{
     $errors = "There was an error uploading the file, please try again! Type: " . $_FILES['uploadFile']['type'];
    }

由于某种原因,我上传文件时出错,文件类型未显示。它似乎只获取文件名,没有扩展名(即“test”而不是“test.pdf”)。我确信这很简单,但我做错了什么?

如果检查文件数组中的error元素,可能会发现它不是0。如果没有任何错误,则错误应为0。否则,将存储在error中的值与PHP文档进行比较,以确定出错的原因

可能您输入的路径错误(以斜杠结尾),或者php没有写入目录的权限

<?php 
error_reporting(E_ALL); // Show some errors

$target_path = "/var/www/somesite.com/uploads/"; // Would require a ending slash 

$target_path = $target_path.basename($_FILES['uploadFile']['name']);

if(move_uploaded_file($_FILES['uploadFile']['tmp_name'], $target_path)) {
    $errors = "The file ".  basename( $_FILES['uploadFile']['name']). " has been uploaded";
} else{
    $errors = "There was an error uploading the file, please try again! Type: " . $_FILES['uploadFile']['type'];
}

?>


出于某种原因,人们坚持从不进行正确的错误检查。确保$\u FILES['uploadFile']['error']没有错误,然后确保您在move\u uploaded\u file中的路径正确,如果仍然存在问题,确保运行web服务器的用户对目录具有写入权限。并检查
upload\u max\u filesize
php ini变量是否足够大。感谢您的快速响应。上载\u最大\u文件大小正确@Corbin$\u文件['uploadFile']['error']没有返回任何内容。我将错误替换为:$errors=“上传文件时出错,请重试!错误:”$_文件['uploadFile']['error'];什么也没印出来。var_dump也只是显示了一个0元素的数组。如果文件是一个零长度数组,这意味着该文件甚至从未到达PHP。这意味着你的表单是错误的,或者Apache出于某种原因终止了它。谢谢,我必须将我的表单设置为具有enctype=“multipart/form data”我仔细检查了路径,最后的斜杠在那里。我还检查了权限,它们也是正确的。