File Laravel 4:文件上传表示文件夹中未显示成功

File Laravel 4:文件上传表示文件夹中未显示成功,file,file-upload,laravel,laravel-4,File,File Upload,Laravel,Laravel 4,我试图上传一个简单的图像文件,然后将其移动到指定的文件夹,虽然我没有收到任何错误消息,而且一切都表明它有效,但它不会显示在任何文件夹中。有关守则是: $destination = public_path().'/auction_img/'; $filename = $auction->id; if (Input::hasFile('image')) { $file = Input::file('image');

我试图上传一个简单的图像文件,然后将其移动到指定的文件夹,虽然我没有收到任何错误消息,而且一切都表明它有效,但它不会显示在任何文件夹中。有关守则是:

        $destination = public_path().'/auction_img/';
        $filename = $auction->id;

        if (Input::hasFile('image')) {
            $file = Input::file('image');
            try{
            $uploadSuccess = $file->move($destination, $filename.$file->getClientOriginalExtension());
            }catch(Exception $e){
                error_log('Exception: '.$e->getMessage());
            }
            if($uploadSuccess){
                error_log("YAY!");
            }
        }

我没有得到异常,我在错误日志中得到“YAY”。但不管我做什么,它都不会出现。有什么想法吗?我还检查了我的php.ini,它的最大大小为20M,但该文件的大小只有.5MB左右,看起来它并没有达到你认为的程度

首先

try{} catch() {}
对拉威尔不起作用。您必须设置一个处理程序:

App::error(function(Exception $exception)
{
    Log::error($exception);
});
然后对你的行动做一个完整的记录,看看它是否真的在你需要的地方:

$destination = public_path().'/auction_img/';
$filename = $auction->id;

if (Input::hasFile('image')) {

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

    $uploadSuccess = $file->move($destination, "$filename.".$file->getClientOriginalExtension());

    if($uploadSuccess) 
    {
        error_log("Destination: $destination");
        error_log("Filename: $filename");
        error_log("Extension: ".$file->getClientOriginalExtension());
        error_log("Original name: ".$file->getClientOriginalName());
        error_log("Real path: ".$file->getRealPath());
    }
    else
    {
        error_log("Error moving file: ".$file->getClientOriginalName());
    }
}
还要检查原始文件是否在它应该位于的位置

根据评论,你的行动应该是:

$uploadSuccess = $file->move($destination, "$filename.".$file->getClientOriginalExtension());
检查
$destination
是否指向您的公用文件夹,它必须看起来像:

/var/www/site/public/auction_img/
检查
public\u path()

$destination = app()->make('path.public').'/auction_img/'

看起来它不会去你想去的地方

首先

try{} catch() {}
对拉威尔不起作用。您必须设置一个处理程序:

App::error(function(Exception $exception)
{
    Log::error($exception);
});
然后对你的行动做一个完整的记录,看看它是否真的在你需要的地方:

$destination = public_path().'/auction_img/';
$filename = $auction->id;

if (Input::hasFile('image')) {

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

    $uploadSuccess = $file->move($destination, "$filename.".$file->getClientOriginalExtension());

    if($uploadSuccess) 
    {
        error_log("Destination: $destination");
        error_log("Filename: $filename");
        error_log("Extension: ".$file->getClientOriginalExtension());
        error_log("Original name: ".$file->getClientOriginalName());
        error_log("Real path: ".$file->getRealPath());
    }
    else
    {
        error_log("Error moving file: ".$file->getClientOriginalName());
    }
}
还要检查原始文件是否在它应该位于的位置

根据评论,你的行动应该是:

$uploadSuccess = $file->move($destination, "$filename.".$file->getClientOriginalExtension());
检查
$destination
是否指向您的公用文件夹,它必须看起来像:

/var/www/site/public/auction_img/
检查
public\u path()

$destination = app()->make('path.public').'/auction_img/'

看起来它不会去你想去的地方

首先

try{} catch() {}
对拉威尔不起作用。您必须设置一个处理程序:

App::error(function(Exception $exception)
{
    Log::error($exception);
});
然后对你的行动做一个完整的记录,看看它是否真的在你需要的地方:

$destination = public_path().'/auction_img/';
$filename = $auction->id;

if (Input::hasFile('image')) {

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

    $uploadSuccess = $file->move($destination, "$filename.".$file->getClientOriginalExtension());

    if($uploadSuccess) 
    {
        error_log("Destination: $destination");
        error_log("Filename: $filename");
        error_log("Extension: ".$file->getClientOriginalExtension());
        error_log("Original name: ".$file->getClientOriginalName());
        error_log("Real path: ".$file->getRealPath());
    }
    else
    {
        error_log("Error moving file: ".$file->getClientOriginalName());
    }
}
还要检查原始文件是否在它应该位于的位置

根据评论,你的行动应该是:

$uploadSuccess = $file->move($destination, "$filename.".$file->getClientOriginalExtension());
检查
$destination
是否指向您的公用文件夹,它必须看起来像:

/var/www/site/public/auction_img/
检查
public\u path()

$destination = app()->make('path.public').'/auction_img/'

看起来它不会去你想去的地方

首先

try{} catch() {}
对拉威尔不起作用。您必须设置一个处理程序:

App::error(function(Exception $exception)
{
    Log::error($exception);
});
然后对你的行动做一个完整的记录,看看它是否真的在你需要的地方:

$destination = public_path().'/auction_img/';
$filename = $auction->id;

if (Input::hasFile('image')) {

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

    $uploadSuccess = $file->move($destination, "$filename.".$file->getClientOriginalExtension());

    if($uploadSuccess) 
    {
        error_log("Destination: $destination");
        error_log("Filename: $filename");
        error_log("Extension: ".$file->getClientOriginalExtension());
        error_log("Original name: ".$file->getClientOriginalName());
        error_log("Real path: ".$file->getRealPath());
    }
    else
    {
        error_log("Error moving file: ".$file->getClientOriginalName());
    }
}
还要检查原始文件是否在它应该位于的位置

根据评论,你的行动应该是:

$uploadSuccess = $file->move($destination, "$filename.".$file->getClientOriginalExtension());
检查
$destination
是否指向您的公用文件夹,它必须看起来像:

/var/www/site/public/auction_img/
检查
public\u path()

$destination = app()->make('path.public').'/auction_img/'

至少在Laravel 4.0中,$uploadSuccess不是布尔值。它在移动文件对象后返回该文件对象(它返回$file,因此可以将其链接)。此对象无法可靠地转换为布尔值(如果我尝试在像您这样的if语句中使用它,Symfony会为我引发一个异常)

如果文件移动失败,则会引发异常。如果引发异常,则您知道该文件未被移动,并且仍保留在原来的位置。因此,$file将保留为有效的Symfony文件对象,因此您的处理将继续处理它第一次到达的文件


因此,无论文件是否成功移动,您的“耶!”始终在执行路径中。如果移动失败,您将捕获异常,记录它,然后对异常执行任何进一步操作失败。

$uploadSuccess至少在Laravel 4.0中不是布尔值。它在移动文件对象后返回该文件对象(它返回$file,因此可以将其链接)。此对象无法可靠地转换为布尔值(如果我尝试在像您这样的if语句中使用它,Symfony会为我引发一个异常)

如果文件移动失败,则会引发异常。如果引发异常,则您知道该文件未被移动,并且仍保留在原来的位置。因此,$file将保留为有效的Symfony文件对象,因此您的处理将继续处理它第一次到达的文件


因此,无论文件是否成功移动,您的“耶!”始终在执行路径中。如果移动失败,您将捕获异常,记录它,然后对异常执行任何进一步操作失败。

$uploadSuccess至少在Laravel 4.0中不是布尔值。它在移动文件对象后返回该文件对象(它返回$file,因此可以将其链接)。此对象无法可靠地转换为布尔值(如果我尝试在像您这样的if语句中使用它,Symfony会为我引发一个异常)

如果文件移动失败,则会引发异常。如果引发异常,则您知道该文件未被移动,并且仍保留在原来的位置。因此,$file将保留为有效的Symfony文件对象,因此您的处理将继续处理它第一次到达的文件


因此,无论文件是否成功移动,您的“耶!”始终在执行路径中。如果移动失败,您将捕获异常,记录它,然后对异常执行任何进一步操作失败。

$uploadSuccess至少在Laravel 4.0中不是布尔值。它在移动文件对象后返回该文件对象(它返回$file,因此可以将其链接)。此对象无法可靠地转换为布尔值(如果我尝试在像您这样的if语句中使用它,Symfony会为我引发一个异常)

如果文件移动失败,则会引发异常。如果引发异常,则您知道该文件未被移动,并且仍保留在原来的位置。因此,$file将保留为有效的Symfony文件对象,因此您的处理将继续处理它第一次到达的文件

因此,无论文件是否成功移动,您的“耶!”始终在执行路径中。如果t