php - 无法上传文件(随机 tmp 路径)
问题描述
我正在使用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($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);
推荐阅读
- asp.net-mvc - 为什么 Server.MapPath("~") 在不同的控制器中会给出不同的结果?
- node.js - 如何使用节点在同一端口上获得带有 Express 的 HTTPs 与 websockets 一起使用?
- kubernetes - 如何解决“名称无法解析”:部署简单 Springboot 应用程序以测试 REST API 时出现 Kubernetes 客户端异常?
- python - 如何将脚本作为 pytest 测试运行
- mysql - 从 3 个表格中选择所有信息
- gulp - Gulp 任务不工作,甚至没有显示任何错误
- google-apps-script - 从脚本插入公式 #name 错误。直接粘贴到图纸上
- swift - 使用本地关闭?
- python - 在 for 循环中打印多个带有编号名称的变量
- java - 如何在 testng extent-report 版本 2.41.2(相关代码)中添加数据提供者值