【发布时间】:2019-04-20 13:49:50
【问题描述】:
我需要使用 php 和 ftp 上传一些视频和音频文件。我正在使用 php 内置的 ftp 函数,但我在使用 ftp_put() 函数时遇到了一些问题。在我测试代码时,它会继续给我一个与文件名相关的错误。我该如何解决这个问题。
这是我尝试上传文件时 php 控制台的输出:
Warning: ftp_put(): Filename cannot be empty in /Users/uc/Desktop/c/FtpManager.php on line 37
这是$_FILES 数组转储:
array(5) { ["name"]=> string(8) "em_1.mp4" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(1) ["size"]=> int(0) }
我用来制作脚本原型的代码如下:
<?php
/* Upload video */
public function uploadVideo(array $inputFile){
if( ftp_chdir( $this->conn, "/cloud.mywebsite.com/" ) ){
$upload = ftp_put( $this->conn, $inputFile['video_file']['name'], $inputFile['video_file']['name'], FTP_BINARY);
if( $upload ){
echo 'File uploaded!';
}
}
}
if(isset($_POST['upload_video'])){
echo $ftp->uploadVideo($_FILES['video_file']);
}
?>
<form enctype="multipart/form-data" method="POST" action="">
<input type="file" name="video_file" />
<input type="submit" name="upload_video">
</form>
【问题讨论】:
-
["error"]=> int(1)-- 这意味着您的上传有错误。值1是UPLOAD_ERR_INI_SIZE错误,即means“上传的文件超出了php.ini中的upload_max_filesize指令。” -
@rickdenhaan 我正在使用 macOS 的 embed php 服务器。我没有设置 php ini,但我用来测试的视频只有 3MB 大。我遇到的主要问题是
ftp_put()函数
标签: php file-upload