【问题标题】:Laravel 4 : Call to a member function move() on a non-object with when creating a new fileLaravel 4:在创建新文件时调用非对象上的成员函数 move()
【发布时间】:2014-05-13 09:41:54
【问题描述】:

我有一个 webb 应用程序,用户在其中填写表单并根据该条目创建一个新文件。

下面是mycontroller中store函数的代码:

public function store()
{

    $input = Input::only('name', 'location', 'description', 'phrase');
    $this->homepageForm->validate($input);

    $homoepage = Homepage::create($input);
    $homoepage->save();

    $name = Input::get('name');

    $destination = app_path()."/views/uploads";

    $ext = "blade.php";

    $filename = str_random(6).'.'.$ext;

   $file = $name->move($destination, $filename);
    if($file)
   {
       echo 'good';
   }

  //return Redirect::home();
}

这是表单中的输入字段之一,用户将在其中输入位置名称

   $name = Input::get('name');

此名称将用作带有扩展名的文件名。我想创建这个文件并保存到上传文件夹中。

文件名和目的地正确。我已经验证过了。但是当我想将它移动到上传文件夹时,它只会抛出一个错误。 谢谢!!

【问题讨论】:

  • 你还没有在任何地方打开你的文件..
  • 嗨,我关注了laravel.com/docs/requests。我不知道为什么我需要在这里打开文件。打扰一下,我对文件处理完全陌生,并且已经学习了几天 laravel。请你指导我好吗?谢谢!!
  • 别担心,看看我的回答……希望对你有帮助:)

标签: php laravel laravel-4


【解决方案1】:

要解决此问题,您需要:

Form::open(array('url' => 'foo/bar', 'files' => true))

或者

<form method="post" action="{{ URL::route('your-route') }}" 
enctype="multipart/form-data">

【讨论】:

  • 我的问题是我忘了包含enctype="multipart/form-data",谢谢!
【解决方案2】:

$name = Input::get('name');替换为:

$name = Input::file('name');

【讨论】:

  • 嗨,它不工作。我没有在这里上传任何文件。我将在上传文件夹中创建一个全新的文件,文件的名称将是输入字段的名称。该文件的内容将在表单中提供描述。
【解决方案3】:

您目前没有创建文件...为什么不直接将其创建到上传文件夹中?

// added a / at the end here:
$destination = app_path()."/views/uploads/";
$ext = "blade.php";

$file = $destination . str_random(6).'.'.$ext;

// creates an empty file
$f = fopen($file, 'w');
fclose($f);

if(File::exists($file))
{
    echo 'good';
}

不确定您是否考虑过这一点,但您正在使用随机名称创建此文件...您是否在某处记录了该名称?如果不是以后可能很难找到! :)

【讨论】:

  • 您好,在您的上述答案的帮助下,我一定很接近答案。但我没有看到在上传文件夹中创建的文件。
  • 是的,它的回声很好!!但没有创建文件。因为,我已经定义了 $destination,我应该能够看到目标中的文件,对吧?上传文件夹为空。
  • 服务器在uploads目录下是否有write权限?
  • 太棒了!我还更新了if 以使用 Laravel 的方法检查文件是否存在。
  • 我向你和你的时间和帮助致敬 ;) 它给了像我这样的初学者学习的力量。我在这里很开心。
猜你喜欢
  • 2016-11-20
  • 2021-01-03
  • 1970-01-01
  • 1970-01-01
  • 2017-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多