我想将文件上传到指定的文件夹。
<?php
$folder = "upload/";
if (is_uploaded_file($HTTP_POST_FILES['filename']['tmp_name'])) {
if (move_uploaded_file($HTTP_POST_FILES['filename']['tmp_name'], $folder.$HTTP_POST_FILES['filename']['name'])) {
echo "File uploaded";
} else {
echo "File not moved to destination folder. Check permissions";
};
} else {s
echo "File is not uploaded";
};
?>
错误是:
注意:未定义的变量:第3行的C:\ wamp \ www \ sdg \ import \ ips.php中的HTTP_POST_FILES
答案 0 :(得分:5)
以下是上传文件的一种方法,还有很多方法。
正如@nordenheim所说,自PHP 4.1.0以来,$HTTP_POST_FILES
已被弃用,因此不建议使用它。
PHP代码(upload.php)
<?php
$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if (isset($_POST["submit"])) {
if ($target_file == "upload/") {
$msg = "cannot be empty";
$uploadOk = 0;
} // Check if file already exists
else if (file_exists($target_file)) {
$msg = "Sorry, file already exists.";
$uploadOk = 0;
} // Check file size
else if ($_FILES["fileToUpload"]["size"] > 5000000) {
$msg = "Sorry, your file is too large.";
$uploadOk = 0;
} // Check if $uploadOk is set to 0 by an error
else if ($uploadOk == 0) {
$msg = "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$msg = "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded.";
}
}
}
?>
启动功能的HTML代码
<form action="upload.php" method="post" id="myForm" enctype="multipart/form-data">
Select file to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<button name="submit" class="btn btn-primary" type="submit" value="submit">Upload File</button>
</form>
希望这有帮助。
答案 1 :(得分:3)
PHP 4.1引入了superglobals。它们替换了包含从请求中提取的数据的旧的,长命名的数组。已将$_FILES[]
替换为$HTTP_POST_FILES[]
,将$_GET[]
替换为$HTTP_GET_VARS[]
,依此类推
对于后续的PHP 4版本,旧的和新的阵列可以并排使用。默认情况下,PHP 5禁用了旧数组的生成,并引入了可用于重新启用旧数组创建的php.ini
directive register_long_arrays
。
自PHP 5.4起,旧的长名称数组被完全删除,register_long_arrays
与它们一起被移除。
结论:您正在从一个非常古老或非常糟糕的教程中学习。找一个更好的。
答案 2 :(得分:0)
public static function uploadFile($filepath="upload",$existCheck=0,$uniq=0){
global $_FILES;
try {
// Undefined | Multiple Files | $_FILES Corruption Attack
// If this request falls under any of them, treat it invalid.
if (
!isset($_FILES['uploaded_file']['error']) ||
is_array($_FILES['uploaded_file']['error'])
) {
$result["status"]="fail";$result["errors"]=('Invalid parameters.');return $result;
}
// Check $_FILES['uploaded_file']['error'] value.
switch ($_FILES['uploaded_file']['error']) {
case UPLOAD_ERR_OK:
break;
case UPLOAD_ERR_NO_FILE:
$result["status"]="fail";$result["errors"]=('No file sent.');return $result;
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
$result["status"]="fail";$result["errors"]=('Exceeded filesize limit.');return $result;
default:
$result["status"]="fail";$result["errors"]=('Unknown errors.');return $result;
}
// You should also check filesize here.
if ($_FILES['uploaded_file']['size'] > 1000000) {
$result["status"]="fail";$result["errors"]=('Exceeded filesize limit.');return $result;
}
// DO NOT TRUST $_FILES['uploaded_file']['mime'] VALUE !!
// Check MIME Type by yourself.
$finfo = new finfo(FILEINFO_MIME_TYPE);
if (false === $ext = array_search(
$finfo->file($_FILES['uploaded_file']['tmp_name']),
array(
'jpg' => 'image/jpeg',
'png' => 'image/png',
'gif' => 'image/gif',
),
true
)) {
$result["status"]="fail";$result["errors"]=('Invalid file format.');return $result;
}
if($uniq==0){
$temp=$filepath;
}
else{
$temp=$filepath."/".uniqid()."_".$_FILES['uploaded_file']['name'];
}
if ($existCheck==1 && file_exists($temp)) {
$result["status"]="fail";$result["errors"]=('Unknown errors.');return $result;
}
if(@copy($_FILES['uploaded_file']['tmp_name'], $temp)) {
return $result["status"]="success";
}
$result["status"]="fail";$result["errors"]=('Unknown errors.');return $result;
} catch (Exception $e) {
$result["status"]="fail";$result["errors"]= $e->getMessage();return $result;
}
}
答案 3 :(得分:0)
首先,编写这样的html代码,不要忘记添加enctype="multipart/form-data"
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
然后创建一个名为upload.php的文件名
<?php
$path = "form/";
$target_file = $path.basename($_FILES["fileToUpload"]["name"]);
$file=$_FILES['fileToUpload']['name'];
$result = move_uploaded_file($_FILES['fileToUpload']['tmp_name'],$target_file.$file);
if ($result) {
echo "file successfully uploaded";
}
else {
echo "please select your file";
}
答案 4 :(得分:0)
您应该尝试
$fileType = $_FILES['profileimage']['type'];
$fileName = $_FILES['profileimage']['name'];
$array = explode(".", $fileName);
$ext = $array[count($array)-1];
$imageAutoName = "profileimagehr".$rsinssupp.".".$ext;
if(!move_uploaded_file($_FILES['profileimage']['tmp_name'],'img/user/'.$imageAutoName))
{
$msg = "";
}
else
{
$iquery = "UPDATE tblname SET filane = '".$imageAutoName."' WHERE id = ".$rsinssupp."";
$obj->edit($iquery);
}
答案 5 :(得分:0)
index.php
<?php
if(isset($_FILES['image'])){
$errors= array();
$file_name = $_FILES['image']['name'];
$file_tmp =$_FILES['image']['tmp_name'];
$extensions= array("jpeg","jpg","png");
move_uploaded_file($file_tmp,"images/".$file_name);
}
?>
<html>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="image" />
<input type="submit"/>
</form>
</body>
</html>
在项目文件夹中创建一个图像文件夹,然后运行此文件。
答案 6 :(得分:0)
您好,您可以使用phpUpload类
load' 2020-10-07 04:34:38 +0000 [error]: /usr/local/bundle/bin/fluentd:23:in