繁体   English   中英

PHP File Upload to FTP (这里使用Uploadify as FTP) -- 无法执行上传

[英]PHP File Upload to FTP (Here Using Uploadify as FTP) -- Unable to perform upload

Here is my HTML Code :

<html>
<head>
<title>Welcome</title>
</head>

<body>
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile_1" type="file" /><br />
Choose a file to upload: <input name="uploadedfile_2" type="file" /><br />
<input type="submit" value="Upload Files" />
</form>
</body>
</html>

下面是PHP:

<?php
$ftp_server = "94.xx.1.xxx";
$ftp_username   = "anxxxxxx";
$ftp_password   =  "xxxxxxxxx";

$conn_id = ftp_connect($ftp_server) or die("could not connect to $ftp_server");

if(@ftp_login($conn_id, $ftp_username, $ftp_password))
{
  echo "connected as $ftp_username@$ftp_server\n";
  }
else {
  echo "could not connect as $ftp_username\n";
}

$file = $_FILES["uploadedfile_1"]["name"];
$file2 = $_FILES["uploadedfile_2"]["name"];

$remote_file_path = "ansxxxx@94.xx.1.xxx/JustForTest".$file; // This is the Folder which I've created inside the FTP 
$remote_file_path2 = "ansxxxx@94.xx.1.xxx/JustForTest".$file2; // This is the Folder which I've created inside the FTP 

ftp_put($conn_id, $remote_file_path, $_FILES["uploadedfile_1"]["tmp_name"],FTP_ASCII);
ftp_put($conn_id, $remote_file_path2, $_FILES["uploadedfile_2"]["tmp_name"],FTP_ASCII);
ftp_close($conn_id);
echo "\n\nconnection closed";
?>

错误:

连接为 anshxxx@94.xx.1.xxx 致命错误:未捕获的值错误:C 中的路径不能为空:\xampp\htdocs\upload.php:22 堆栈跟踪:#0 C:\xampp\htdocs\upload.php( 22): ftp_put(Object(FTP\Connection), 'anshxxx@94.xx...', '', 1) #1 {main} thrown in C:\xampp\htdocs\upload.php on line 22

它连接完美......但没有文件上传,抛出上述错误。 我是 php 的新用户。请帮助...!

如果有人做过这种要求,我宁愿分享代码。

非常感谢...!`

试试下面的代码。 请在代码中重新定义您的上传目录。 我对你的问题写了评论,你应该使用安全的目录名称。 我不会使用@和。 在目录名称中。 特别是没有点。

<?php

// Build FTP connection and login
function getFtpConnection()
{
    $ftp_server = "94.xx.1.xxx";
    $ftp_username   = "anxxxxxx";
    $ftp_password   =  "xxxxxxxxx";
    
    $conn_id = ftp_connect($ftp_server) or die("could not connect to $ftp_server");
    
    if(@ftp_login($conn_id, $ftp_username, $ftp_password))
    {
      echo "connected as $ftp_username@$ftp_server\n";
      return $conn_id;
    }
    else {
      echo "could not connect as $ftp_username\n";
      return false;
    }
}

$messages = [];
if(gettype($conn) == "resource")
{
    $remoteDirectory = "/html/myuploadDir/";//Absoulte path
    foreach($_FILES as $k => $upload_file)
    {
        if(!empty($upload_file["name"]) && filesize($upload_file["tmp_name"]) > 0)
        {
            $fname = $upload_file["name"];
            $remote_filepath = $remoteDirectory . $fname;
            if(ftp_put($conn, $remote_filepath, $upload_file["tmp_name"]))
                $messages[] = "File $fname uploaded successfully";
            else
                $messages[] = "Upload for file $fname failed";
        }
    }
    ftp_close($conn);
    $messages[] = "Connection closed";
}
echo implode("<br>", $messages);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM