Добрый день. Я пытаюсь создать несколько виртуальных карт с массивом json из файла CSV. В файле CSV есть 100 карт, которые я пытаюсь создать. Если я пытаюсь опубликовать все 100 строк в CSV-файле, я получаю ошибку 504. Если я публикую его только с 10 строками, сообщение будет успешно напечатано.
Я размещаю его на учетной записи общего хостинга. Я не могу изменить http.conf или любую другую конфигурацию apache.
Мой CSV-файл
First,Lasy,DOB,Phone,Email,Address 1,Address 2,City,State,Zip,Country
John,Doe,1/1/2000,5555555555,something@example.com,123 something street,,Atlanta,GA,00000,US
Jimmy,Doe,1/1/2000,5555555555,something@example.com,123 something street,,Atlanta,GA,00000,US
Мой код. , .
$handle = fopen('sgvc.csv', 'r')
$header = fgetcsv($handle);
while(($data = fgetcsv($handle)) !== false){
$sv = '{
"VirtualCards":[{
"FirstName":"'.$data[0].'",
"LastName":"'.$data[1].'",
"DateOfBirth":"'.$data[2].'",
"Phone":"'.$data[3].'",
"Email":"'.$data[4].'",
"ProfileAddress":{
"AddressLine1":"'.$data[5].'",
"AddressLine2":"'.$data[6].'",
"City":"'.$data[7].'",
"State": "'.$data[8].'",
"PostalCode":"'.$data[9].'",
"Country":"'.$data[10].'",
},
"GroupId": ""}]
}';
echo $sv;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $sv);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 900);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: token ','Content-Type: application/json'));
$result = curl_exec($ch);
curl_close($ch);
}
fclose($handle);
}
Мое эхо json ..
{ "VirtualCards":[{ "FirstName":"John", "LastName":"Doe", "DateOfBirth":"2/3/1981", "Phone":"5555555555", "Email":"something@example.com", "ProfileAddress":{ "AddressLine1":"123something rd", "AddressLine2":"", "City":"atlanta", "State": "GA", "PostalCode":"00000", "Country":"US", }, "GroupId": "123",}] }
{ "VirtualCards":[{ "FirstName":"John", "LastName":"Doe", "DateOfBirth":"2/3/1981", "Phone":"5555555555", "Email":"something@example.com", "ProfileAddress":{ "AddressLine1":"123something rd", "AddressLine2":"", "City":"atlanta", "State": "GA", "PostalCode":"00000", "Country":"US", }, "GroupId": "123",}] } //...array of json
Я пытался это понять. Например, помещая это в блоки данных или используя stream_context_create. Есть ли лучший способ сделать это, например, 10 строк за раз?