当我想要一个图像文件时,PHP $ _FILES返回一个字符串

时间:2014-01-15 22:42:30

标签: php html ftp

我正在尝试从表单帖子将图像文件上传到FileZilla(在XAMPP中),但是有些事情不对。这是HTML:

<form action="handler.php" method="post" enctype="multipart/form-data">
Image: <br><input type="file" name="image" required>
<input type="submit">

表格中也有一些textareas。所以我输入所有内容并选择我的图片,然后一切都被赋予handler.php ...

$image = $_FILES["image"]['tmp_name'];

$ftpCon = ftp_connect("127.0.0.1", "21") or die("Could not connect to FTP");
ftp_fput($ftpCon, "image.png", $image, FTP_BINARY);
ftp_close($ftpCon);

该代码给我的消息“ftp_fput()期望参数3是资源,给出字符串” 当我回应它时,它是临时文件的路径,例如:E:\ xampp \ tmp \ phpE62C.tmp

另外,这是关于ftp的整个代码,所以我可能会遗漏一些东西,因为这是我第一次使用ftp。

1 个答案:

答案 0 :(得分:0)

您有两种选择:

打开临时文件并将资源传递给ftp_fput

$image_fd = fopen($image, "r");
ftp_fput($ftpCon, "image.png", $image_fd, FTP_BINARY);
fclose($image_fd);

将文件名传递给ftp_put

ftp_put($ftpCon, "image.png", $image, FTP_BINARY);