【问题标题】:Upload files in another domain on same server在同一服务器上上传另一个域中的文件
【发布时间】:2013-05-24 22:35:48
【问题描述】:

我需要移动域中所有上传的文件,所有网站都将在另一个域中
但是在同一个服务器IP中,所以如何编辑上传过程来上传文件 直接到“文件域”?。

前:

网站域名:doamin.com

文件域:myfiles.com

以正常方式这是我的代码:

查看

 ...........
    <?php $form=$this->beginWidget('CActiveForm', array(
        'id'=>'Cfiles-form',

            'enableAjaxValidation'=>false,
            'enableClientValidation'=>true,
            'clientOptions'=>array('validateOnSubmit'=>true), //This is very important


           'htmlOptions' => array('enctype' => 'multipart/form-data'),
    )); ?>
        <div class="row">
            <?php echo $form->labelEx($model,'file'); ?>
            <?php echo $form->fileField($model,'file'); ?>
            الملفات المسموحة : jpg,gif, png,pdf,rar,zip,doc,docx
            <?php echo $form->error($model,'file'); ?>
        </div>
    ...............

控制器

public function actionCreate()
    {

       ..................
.

        // Uncomment the following line if AJAX validation is needed
        $this->performAjaxValidation($model);

        if(isset($_POST['Cfiles']))
        {



            $model->attributes=$_POST['Cfiles'];
            $valdiate=$model->validate();


         /////// upload image functions 

         $rnd = rand(0,999984375);  // generate random number between 0-9999
         $model->attributes=$_POST['Cfiles']['file'];


            $uploadedFile=CUploadedFile::getInstance($model,'file');
        if(!empty($uploadedFile)){
            $ext=$uploadedFile->getExtensionName();
            $fileName = "isa$rnd.{$ext}";  // random number + file name
            }


             ////////// end 


            if($model->save()){

               $f_id=$model->primaryKey; 

               ................

                      if(!empty($uploadedFile))  // check if uploaded file is set or not
                {
                 $uploadedFile->saveAs(Yii::app()->basePath.'/../cfillaf/'.$fileName);  // upload image to server 
                  $model->file = $fileName;

                  $model->save(false);
               }   

  ....................

        }

提前致谢

【问题讨论】:

  • 只需更改文件路径并确保文件\目录权限允许这样做
  • 达贡:你能给我举个例子吗?谢谢你

标签: php yii


【解决方案1】:

大衮的意思是:

$uploadedFile->saveAs(Yii::app()->basePath.'/../cfillaf/'.$fileName);

可以改成:

$uploadedFile->saveAs('http://www.myfiles.com/my_writable_image_dir/'.$fileName);

不要忘记确保 myfiles.com/my_writable_image_dir/ 是可写的。

但是,由于两个域都在同一台服务器上,您可以使用服务器路径来访问您的图像文件夹。像这样的:

$uploadedFile->saveAs(Yii::app()->basePath.'/../../../myfiles.com/public_html/my_writable_image_dir/'.$fileName);

希望有帮助

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-28
  • 2012-04-25
  • 1970-01-01
相关资源
最近更新 更多