上传文件时文件大小统计失败
Filesize stat failed while uploading files
我现在遇到了一个奇怪的问题 - "filesize(): stat failed for C:\xampp\tmp\php7A38.tmp" 异常。当我在使用 PHP (Laravel).
构建的应用程序中上传文件时出现问题
在我将文件上传到服务器之前,我会像这样检查文件的大小(这非常有效):
for ($i = 0; $i < $filesLength; $i++) {
if(filesize($request['files'][$i]) < 1572865) {
$file = $request['files'][$i];
$filename = $imageNumber.'.'.$request['files'][$i]->extension();
$file = $file->move(public_path().'/app/newsimages/'.$element->id.'/', $filename);
}
}
如果我这样做,一切都会很好。但问题是我必须把这个循环放在另一个循环中,像这样:
foreach($somelement as $element) {
for ($i = 0; $i < $filesLength; $i++) {
if(filesize($request['files'][$i]) < 1572865) {
$file = $request['files'][$i];
$filename = $imageNumber.'.'.$request['files'][$i]->extension();
$file = $file->move(public_path().'/app/newsimages/'.$element->id.'/', $filename);
}
}
}
除此之外,它在 foreach 循环的第二个循环崩溃。
也许你知道这里出了什么问题?
我认为这很明显,在内循环中你移动了文件,所以当你进入外循环的下一次迭代时文件不在那里,所以例如如果你移动文件:
$request['files'][0]
无法执行:
filesize($request['files'][0])
因为此文件已移动 - 它不再存在。
我现在遇到了一个奇怪的问题 - "filesize(): stat failed for C:\xampp\tmp\php7A38.tmp" 异常。当我在使用 PHP (Laravel).
构建的应用程序中上传文件时出现问题在我将文件上传到服务器之前,我会像这样检查文件的大小(这非常有效):
for ($i = 0; $i < $filesLength; $i++) {
if(filesize($request['files'][$i]) < 1572865) {
$file = $request['files'][$i];
$filename = $imageNumber.'.'.$request['files'][$i]->extension();
$file = $file->move(public_path().'/app/newsimages/'.$element->id.'/', $filename);
}
}
如果我这样做,一切都会很好。但问题是我必须把这个循环放在另一个循环中,像这样:
foreach($somelement as $element) {
for ($i = 0; $i < $filesLength; $i++) {
if(filesize($request['files'][$i]) < 1572865) {
$file = $request['files'][$i];
$filename = $imageNumber.'.'.$request['files'][$i]->extension();
$file = $file->move(public_path().'/app/newsimages/'.$element->id.'/', $filename);
}
}
}
除此之外,它在 foreach 循环的第二个循环崩溃。
也许你知道这里出了什么问题?
我认为这很明显,在内循环中你移动了文件,所以当你进入外循环的下一次迭代时文件不在那里,所以例如如果你移动文件:
$request['files'][0]
无法执行:
filesize($request['files'][0])
因为此文件已移动 - 它不再存在。