【问题标题】:Can't upload file (random tmp path)无法上传文件(随机 tmp 路径)
【发布时间】:2018-05-18 22:27:30
【问题描述】:

我正在使用 Lampp 7.2.5 并且还在使用 php 7.1 的服务器上尝试过。我正在尝试创建一个文件托管网站,但只有 1 个错误。我找不到任何解决方案,所以我现在寻求帮助。我有一个这样的 PHP 代码:



$ftp_server = xxxxxxxxxxxxxx;
$ftp_username = xxxxxxxxxxxxxxxxxxxxxxx;
$ftp_userpass = xxxxxxxxx;
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$file = $_FILES['file']['tmp_name'];
$file_name = $_FILES['file']['name'];
$remote_file = "/uploaded/".$file_name;
if (ftp_put($ftp_conn, $remote_file, $file, FTP_ASCII))
{
    echo "Successfully uploaded $file.";
}
else
{
    echo "Error uploading $file.";
}
ftp_close($ftp_conn);


和 HTML:
<form action="sent.php" method="post" enctype="multipart/form-data">
            <input type="file" id="file" name="file" class="inputfile" onchange="danee()">
            <label for="file" class="chose" id="chose">Wybierz plik</label>
            <div id="info">
                <input type="email" name="email" id="email" onchange="checkEmail()" autocomplete="email" class="userdata" placeholder="E-mail"><Br/>
                <input type="password" name="pass" id="pass" onchange="checkPass()" autocomplete="new-password" class="userdata" placeholder="Hasło do pliku"><Br/>
                <input type="submit" value="Wyślij" id="send">
            </div>
        </form>

问题是当我重新加载浏览器并尝试发送任何文件时,显示错误:

警告:ftp_put():无法打开该文件:第 10 行的 /opt/lampp/htdocs/host/sent.php 中没有此类文件或目录 上传 /opt/lampp/temp/phpgQoyn9 时出错。

而且总是显示“/opt/lampp/temp/php[和一些随机字符] 有人能帮我吗?拜托了

【问题讨论】:

  • 您需要致电move_uploaded_file() 将其移动到可访问的位置首先。出于安全原因,PHP 会阻止您直接访问新上传的文件。
  • “可以到达的地方”在哪里?

标签: php upload


【解决方案1】:

您正在上传目录中的图像。然后执行其他进程。

move_uploaded_file($file, $remote_file)

if (move_uploaded_file($file, $remote_file) && ftp_put($ftp_conn, $remote_file, $file, FTP_ASCII))
{
    echo "Successfully uploaded $file.";
}
else
{
    echo "Error uploading $file.";
}
ftp_close($ftp_conn);

【讨论】:

  • 这不起作用 :( 仍然出现错误:警告:move_uploaded_file(/uploaded/index.php):无法打开流:/opt/lampp/htdocs/host 中没有这样的文件或目录/sent.php 第 19 行警告:move_uploaded_file(): Unable to move '/opt/lampp/temp/phpf4FEgr' to '/uploaded/index.php' in /opt/lampp/htdocs/host/sent.php on line 19 上传/opt/lampp/temp/phpf4FEgr时出错。
猜你喜欢
  • 1970-01-01
  • 2013-05-05
  • 1970-01-01
  • 1970-01-01
  • 2019-04-18
  • 2018-11-18
  • 2019-02-27
  • 2013-05-17
  • 2015-04-03
相关资源
最近更新 更多