Увеличение docker post_max_size и opload_max_filesize, вызванные «данными, были ошибочными» ошибкой в ​​LaravelPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Увеличение docker post_max_size и opload_max_filesize, вызванные «данными, были ошибочными» ошибкой в ​​Laravel

Сообщение Anonymous »

Моя первоначальная проблема заключалась в том, чтобы попытаться загрузить 54MB TXT -файл с Laravel, и я получал posttoolargeExcpetion в этой строке:
$request->validate([
'file' => 'required|mimes:csv,txt',
]);

во времена WAMP изменение post_max_size и upload_max_filesize было легко, но теперь мне потребовалось время, чтобы обнаружить, что это должно быть сделано с чем -то подобным
RUN echo 'post_max_size = 64M' >> /usr/local/etc/php/conf.d/docker-php-post-max-size.ini
RUN echo 'upload_max_filesize = 64M' >> /usr/local/etc/php/conf.d/docker-php-upload-max-filesize.ini
< /code>
Теперь ошибка перестала быть брошена, но никакой ошибки вообще не было. By using xdebug I found that an error was being thrown (but not shown, idk why) and it was "given data was invalid".
I thought it was because both post and upload were initially equal, due to this restriction and increased upload to 100. But the error persisted.
RUN echo 'post_max_size = 64M' >> /usr/local/etc/php/conf.d/docker-php-post-max-size.ini
RUN echo 'upload_max_filesize = 100M' >> /usr/local/etc/php/conf.d/docker-php-upload-max-filesize.ini
< /code>
Теперь у меня нет идей. Почему эта ошибка бросается? Это исправлено?

@csrf

Select the file to reorder the columns


Upload



fileUploadController.php
public function showUploadForm()
{
return view('upload');
}

public function upload(Request $request)
{
//Log::info($request->file('file')->getClientMimeType());
$request->validate([
'file' => 'required|mimes:csv,txt',
]);

$file = $request->file('file');

// Process the file
$processedData = $this->processFile($file);

// Generate a new file name
$newFileName = 'reordered_' . $file->getClientOriginalName() . '_'.time().' . '.$file->getClientOriginalExtension();

// Write processed data into a new file
$handle = fopen(storage_path('app/processed/' . $newFileName), 'w');
foreach ($processedData as $rowData) {
//fputcsv($handle, $rowData, "\t");
fputs($handle, implode("\t", $rowData)."\n");
}
fclose($handle);

// Return a link to the processed file
return response()->download(storage_path('app/processed/' . $newFileName))->deleteFileAfterSend(true);
}

private function processFile($file)
{
$data = [];
$isHeader = true;

// Read the CSV file
if (($handle = fopen($file->getRealPath(), 'r')) !== false) {
while (($rowData = fgetcsv($handle, 0, "\t")) !== false) {
if ($isHeader) {
// Check if we reached the [Data] section
if ($rowData[0] === '[Data]') {
$isHeader = false;
}
// If still in the header section, simply push the row to data as is
//$data[] = $rowData;
} else {
$merged = $rowData[4] == 'Chr' ? 'Plus Strand' : $rowData[8].$rowData[9];

// Swap columns as required
$processedRow = [
$rowData[2], // SNP Name
$rowData[4], // Chr
$rowData[5], // Position
$merged
];

$data[] = $processedRow;
}
}
fclose($handle);
}

return $data;
}


Подробнее здесь: https://stackoverflow.com/questions/782 ... data-was-i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»