Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
html+;php上载表单未上载文件_Php_Html - Fatal编程技术网

html+;php上载表单未上载文件

html+;php上载表单未上载文件,php,html,Php,Html,我目前正在尝试调试为什么我的PHP脚本当前无法工作。基本上,我有一个web表单,最终用户可以创建新的组名,然后可以选择上载2个不同文件中的1个 html: 我确信这是我没有做的简单的事情。请记住,这不是一个面向公众的应用程序,而是一个小型的本地主机虚拟设备 因此,我在网上找到了一个更详细的PHP上传过程示例。这反过来又帮助解决了这个问题 这就是我现在正在使用的-非常有效 PHP: define(“UPLOAD_DIR”,“/var/www/html/uploads/”; 如果(!空($_文件[“

我目前正在尝试调试为什么我的PHP脚本当前无法工作。基本上,我有一个web表单,最终用户可以创建新的组名,然后可以选择上载2个不同文件中的1个

html:


我确信这是我没有做的简单的事情。请记住,这不是一个面向公众的应用程序,而是一个小型的本地主机虚拟设备

因此,我在网上找到了一个更详细的PHP上传过程示例。这反过来又帮助解决了这个问题

这就是我现在正在使用的-非常有效

PHP:

define(“UPLOAD_DIR”,“/var/www/html/uploads/”;
如果(!空($_文件[“SANUpload”])){
$myFile=$\u文件[“SANUpload”];
如果($myFile[“error”]!==上传错误确定){
echo“发生错误。

”; 出口 } //确保文件名安全 $name=preg_replace(“/[^A-Z0-9.\-]/i”、“\”、$myFile[“name”]); //不要覆盖现有文件 $i=0; $parts=pathinfo($name); while(文件存在(上传目录$name)){ $i++; $name=$parts[“filename”]。“-”$i.“$parts[“extension”]; } //从临时目录中保留文件 $success=移动上传的文件($myFile[“tmp\u name”], 上传_DIR.$name); 如果(!$success){ echo“无法保存文件。

”; 出口 } //在新文件上设置适当的权限 chmod(上传目录$name,0644); }
这与我已经用HTML设置的内容相结合。
发现了这个细节,并有一个非常有效的副本记录


所以我在网上找到了一个更详细的PHP上传过程示例。这反过来又帮助解决了这个问题

这就是我现在正在使用的-非常有效

PHP:

define(“UPLOAD_DIR”,“/var/www/html/uploads/”;
如果(!空($_文件[“SANUpload”])){
$myFile=$\u文件[“SANUpload”];
如果($myFile[“error”]!==上传错误确定){
echo“发生错误。

”; 出口 } //确保文件名安全 $name=preg_replace(“/[^A-Z0-9.\-]/i”、“\”、$myFile[“name”]); //不要覆盖现有文件 $i=0; $parts=pathinfo($name); while(文件存在(上传目录$name)){ $i++; $name=$parts[“filename”]。“-”$i.“$parts[“extension”]; } //从临时目录中保留文件 $success=移动上传的文件($myFile[“tmp\u name”], 上传_DIR.$name); 如果(!$success){ echo“无法保存文件。

”; 出口 } //在新文件上设置适当的权限 chmod(上传目录$name,0644); }
这与我已经用HTML设置的内容相结合。
发现了这个细节,并有一个非常有效的副本记录


尝试将文件上载到已创建的某个文件夹。dit抱怨
上载
目录不存在。
uploads
目录是包含脚本的文件夹的子目录,还是在其他地方?尝试使用完整路径。它是根目录下的文件夹。即使我把完整的路径放进去,我仍然会得到那个错误。我可以试着移动它。但对于@Barmar来说,文件存在并且可以写——脚本没有检测到它。我无法找出我缺少的内容。您是否尝试更改为
$uploaddir=“/uploads/”?用户是否有权限写入该目录?与第26行之前相同的错误导致问题或引发错误
if(move_upload_file($_FILES['SANUpload']['tmp_name'],$uploadfile)){echo“Success.\n”;}else{echo“Failure.\n”;}
尝试将文件上载到已创建的某个文件夹。dit抱怨
uploads
目录不存在。
uploads
目录是包含脚本的文件夹的子目录,还是在其他地方?尝试使用完整路径。它是根目录下的文件夹。即使我把完整的路径放进去,我仍然会得到那个错误。我可以试着移动它。但对于@Barmar来说,文件存在并且可以写——脚本没有检测到它。我无法找出我缺少的内容。您是否尝试更改为
$uploaddir=“/uploads/”?用户是否有权限写入该目录?与第26行之前相同的错误导致问题或引发错误<代码>如果(移动上传的文件($上传文件['SANUpload']['tmp\u name'],$uploadfile)){echo“成功。\n”;}否则{echo“失败。\n”;}
<form method="post" action="/php/create.php" enctype="multipart/form-data">
<div class="form-group">
<label for="customerName">Customer Name:</label>
<input type="text" class="form-control" id="foldername" name="foldername" placeholder="Customer Name">
</div>
<div class="form-group">
<label for="healthCheckOutput">HealthCheck Results</label>
<input type="file" id="healthCheckFile">
</div>
<div class="form-group">
<label for="SANUpload">Appliance Data</label>
<input type="file" id="SANUpload" name="SANUpload">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<?php
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);
//Create Customer Folder
$folder = $_POST['foldername'];

$dirPath = '../customers/'.$folder;
if (!mkdir($dirPath, 0750, true)) {
    die('Failed to create customer folders...current customer name already exists');
}

//Upload the file and move it to the correct folders for processing
//$target_dir = "/uploads/";
//$target_file = $target_dir . basename($_FILES["SANUpload"]["name"])

$uploaddir = "uploads/";
$uploadfile = $uploaddir . basename($_FILES['SANUpload']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['SANUpload']['tmp_name'], $uploadfile)){
echo "Success.\n";
} else {
echo "Failure.\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
Warning:  move_uploaded_file(uploads/test2.csv): failed to open stream: No such file or directory in /var/www/html/php/create.php on line 26

Warning:  move_uploaded_file(): Unable to move '/tmp/php8E2y8j' to 'uploads/test2.csv' in /var/www/html/php/create.php on line 26

Failure.
Here is some more debugging info:Array
(
[SANUpload] => Array
    (
        [name] => test2.csv
        [type] => text/csv
        [tmp_name] => /tmp/php8E2y8j
        [error] => 0
        [size] => 58242
    )

)
define("UPLOAD_DIR", "/var/www/html/uploads/");

if (!empty($_FILES["SANUpload"])) {
$myFile = $_FILES["SANUpload"];

if ($myFile["error"] !== UPLOAD_ERR_OK) {
    echo "<p>An error occurred.</p>";
    exit;
}

// ensure a safe filename
$name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]);

// don't overwrite an existing file
$i = 0;
$parts = pathinfo($name);
while (file_exists(UPLOAD_DIR . $name)) {
    $i++;
    $name = $parts["filename"] . "-" . $i . "." . $parts["extension"];
}

// preserve file from temporary directory
$success = move_uploaded_file($myFile["tmp_name"],
    UPLOAD_DIR . $name);
if (!$success) { 
    echo "<p>Unable to save file.</p>";
    exit;
}
// set proper permissions on the new file
chmod(UPLOAD_DIR . $name, 0644);
}