为什么文件上载php脚本在新服务器上不起作用?
我把一个在免费服务器上运行的PHPSRCIPT移到了我自己的服务器(raspberry pi上的Apache2)上,它不再工作了。您将在下面找到脚本-它返回“抱歉,上载文件时出错。” 我不知道是什么原因造成的。以下是我尝试/观察到的大多数事情:为什么文件上载php脚本在新服务器上不起作用?,php,forms,upload,server,Php,Forms,Upload,Server,我把一个在免费服务器上运行的PHPSRCIPT移到了我自己的服务器(raspberry pi上的Apache2)上,它不再工作了。您将在下面找到脚本-它返回“抱歉,上载文件时出错。” 我不知道是什么原因造成的。以下是我尝试/观察到的大多数事情: 我的raspberry pi服务器上的文件夹受密码保护。我删除了密码,但没有结果 我的服务器在路由器后面,转发工作正常。我可以从本地网络内外访问我上传的任何内容 ini允许上传文件 文件_upload.php: <?php $target_di
- 我的raspberry pi服务器上的文件夹受密码保护。我删除了密码,但没有结果
- 我的服务器在路由器后面,转发工作正常。我可以从本地网络内外访问我上传的任何内容李>
- ini允许上传文件
<?php
$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 2000000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "JPG, JPEG, PNG or GIF.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Error.";
}
// if everything is ok, try to upload file
else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
检查php ini上传参数。这些参数的限制可能比以前的更小。我认为该文件甚至不存在,您是否有权限访问它?如果文件已上传,但无法移动,move\u uploaded\u file
除了返回false外,还会发出警告。确保捕获该警告以查看其内容。很可能是您对目标目录没有权限,或者该目录不存在。您写入的文件夹未为运行httpd的用户启用写入功能。检查您的存储文件夹权限我应该试试chmod 757,对吗?