最新消息:欢迎加入小松的QQ群一起讨论一起学习,搜索页面修改成lua+ElasticSearch,使用php这个页面速度相对慢一点,优化之后速度杠杠的,如有问题请加群联系我

FastDFS分布式文件系统实践(三)

Linux 38浏览 0评论

上面的测试通过了,下面开始用php去上传图片

128机子

cd /usr/local/fastdfs-master/php_client
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make & make install
cat fastdfs_client.ini >> /usr/local/php/etc/php.ini
service php-fpm restart

php测试的代码,网上下载

通过http上传

index.php 文件

<html>  
<body>  
  
<form action="upload.php" method="post" enctype="multipart/form-data">  
    <label for="file">Filename:</label>  
    <input type="file" name="upFile" id="upFile" />   
    <br />  
    <input type="submit" name="submit" value="Submit" />  
</form>  
  
</body>  
</html>

upload.php文件

<?php  
  
//上传附件  
function uploadAttach()                                                                              
{/*{{{*/                                                                                                    
    $ret = array();  
    $ret['errorcode'] = 0;  
    $ret['errormsg'] = '';  
    if(!$_FILES || false == isset($_FILES["upFile"]))  
    {  
        $ret['errorcode'] = 1;  
        $ret['errormsg'] = "ERROR:upFile is not set";  
        return $ret;  
    }  
  
    $file = $_FILES["upFile"];  
    if (false == isset($file['tmp_name']) || false == is_file($file['tmp_name']))  
    {  
        $ret['errorcode'] = 2;  
        $ret['errormsg'] = "tmp_name is not file";  
        return $ret;  
    }  
    if (0 == filesize($file['tmp_name']))  
    {  
        $ret['errorcode'] = 3;  
        $ret['errormsg'] = "tmp_name filesize is 0";  
        return $ret;  
    }  
  
    $curlFile = new CurlFile($file['tmp_name'], $file['type'], $file['name']);    
    $fileSuffix = getSuffix($curlFile->getPostFilename());                                                
      
    $ret['file'] = $file;  
    $ret['fileId'] = uploadToFastdfs($curlFile, $fileSuffix);                                                          
    return $ret;  
}/*}}}*/                                                                                                    
  
//获取后缀  
 function getSuffix($fileName)   
 {/*{{{*/  
     preg_match('/\.(\w+)?$/', $fileName, $matchs);  
     return isset($matchs[1])?$matchs[1]:'';  
 }/*}}}*/  
  
//上传文件到fastdfs  
function uploadToFastdfs(CurlFile $file, $fileSuffix)                                                    
{/*{{{*/                                                                                                    
    $fdfs = new FastDFS();   
    $tracker = $fdfs->tracker_get_connection();    
    $fileId = $fdfs->storage_upload_by_filebuff1(file_get_contents($file->getFilename()), $fileSuffix);    
    $fdfs->tracker_close_all_connections();      
    return $fileId;  
}/*}}}*/                                                                                                    
  
function start()  
{  
    $ret = uploadAttach();    
    echo "<pre>"; 
    print_r($ret);  
}  
start();  
?>

测试结果

QQ交流群:136351212(满) 455721967

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» FastDFS分布式文件系统实践(三)
本文链接地址:https://www.phpsong.com/3155.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!

网友最新评论 (2)

加载中,请稍候...
  1. 看不懂~~~
    春熙路2017-04-27 11:14:25回复
    • 从前面几篇文章开始看
      小松2017-04-28 15:10:51回复