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