首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php通过ftp上传多个文件

php通过ftp上传多个文件
EN

Stack Overflow用户
提问于 2012-10-31 20:56:47
回答 3查看 6.7K关注 0票数 0

我目前正在使用以下代码将图像上传到ftp服务器:

代码语言:javascript
复制
<input name="userfile" type="file" size="50">

..。

代码语言:javascript
复制
$filep=$_FILES['userfile']['tmp_name'];
$name=$_FILES['userfile']['name']; 

$upload = ftp_put($conn_id, $paths.'/'.$name, $filep, FTP_BINARY);

除了它只上传一张图片之外,它工作得很好。

任何帮助与多(3-4)图像上传请。

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-31 21:03:03

代码语言:javascript
复制
<input name="userfile[]" type="file" size="50" />
<input name="userfile[]" type="file" size="50" />
<input name="userfile[]" type="file" size="50" />

for($i = 0; $i < count($_FILES['userfile]); $i++) {
   $filep=$_FILES['userfile']['tmp_name'][$i];
   $name=$_FILES['userfile']['name'][$i]; 

   $upload = ftp_put($conn_id, $paths.'/'.$name, $filep, FTP_BINARY);
}
票数 3
EN

Stack Overflow用户

发布于 2012-10-31 21:02:10

您应该一个接一个地异步上传文件:)

HTML:

代码语言:javascript
复制
<input name="userfile[]" type="file" size="50" />
<input name="userfile[]" type="file" size="50" />
<input name="userfile[]" type="file" size="50" />

PHP:

代码语言:javascript
复制
for( $i = 0 ; $i < count( $_FILES['userfile'] ) ; $i++ )
{
   $filep = $_FILES['userfile']['tmp_name'][$i];
   $name = $_FILES['userfile']['name'][$i];

   $upload = ftp_put( $conn_id , $paths . '/' . $name , $filep , FTP_BINARY );
}
票数 1
EN

Stack Overflow用户

发布于 2012-10-31 21:04:42

这是我用过的一个。所有图像字段都具有相同的name属性值files

<input type="file" name="files[]" class="files" multiple />可以用于html5,或者为非HTML5添加多个此行。我对我的上传程序使用了jquery,但是您可以只让多个上传字段可见。

显然,您可以更改我的代码以使用您的ftp代码,但这里也有另一种方法。

代码语言:javascript
复制
        $files = array();

        $allowed_filetypes = array('.jpg','.jpeg','.gif','.bmp','.png','.tif');
        $max_filesize = 1524288;
        $upload_path = 'images/image_uploads/';

        for ($i = 0; $i < count($_FILES['files']['name']); $i++){
            if($_FILES['files']['name'][$i] != "") {
                $filename = $_FILES['files']['name'][$i];
                $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); 
                $ext = strtolower($ext);

                if(!in_array($ext,$allowed_filetypes))
                    die("The file you attempted to upload ($filename) is not allowed.");

                if(filesize($_FILES['files']['tmp_name'][$i]) > $max_filesize)
                    die("The file you attempted to upload ($filename) is too large.");

                if(!is_writable($upload_path))
                    die("You cannot upload to the specified directory, please CHMOD it to 777.");

                $ran = rand();
                $filename = $ran.$ext;
                if(move_uploaded_file($_FILES['files']['tmp_name'][$i],$upload_path.$filename)) {
                    $result = mysql_query("Insert Into image_uploads_images (upload_id, image, original_name) Values ('$id', '$filename', '".$_FILES['files']['name'][$i]."');");

                    if($result){
                        array_push($files, "http://www.site.com/images/image_uploads/$filename => ".$_FILES['files']['name'][$i]);
                    }else{
                        echo "<p style=\"color:#cc3333;\">Unable to upload ".$_FILES['files']['name'][$i]."</p>";
                    }
                }else{
                    echo "<p style=\"color:#cc3333;\">Unable to upload ".$_FILES['files']['name'][$i]."</p>";
                }
            }
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13158476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档