Php API对获取文件有限制吗?
当我尝试发送大的PDF文件(42MB)时,我遇到了问题。API对获取文件有限制吗? 我的代码:Php API对获取文件有限制吗?,php,convertapi,Php,Convertapi,当我尝试发送大的PDF文件(42MB)时,我遇到了问题。API对获取文件有限制吗? 我的代码: 我的代码处理小文件。API对获取文件有限制吗?有一些限制。在php.ini文件中可以找到这些值。直接涉及的是: 贴纸最大尺寸 上载\u最大\u文件大小 最大文件上传量 最大输入时间 您可以使用phpinfo()检查这些值,只需更改它们即可。下面介绍如何更改配置: 这一切肯定只适用于您的服务器。您无法检查其他服务器的设置,因此您正在调用的端点完全可能会阻止大文件 您可以在php.ini文件中检查以下行
我的代码处理小文件。API对获取文件有限制吗?有一些限制。在php.ini文件中可以找到这些值。直接涉及的是:
phpinfo()
检查这些值,只需更改它们即可。下面介绍如何更改配置:
这一切肯定只适用于您的服务器。您无法检查其他服务器的设置,因此您正在调用的端点完全可能会阻止大文件
您可以在php.ini
文件中检查以下行
- 上载\u最大\u文件大小=2M
- 立柱最大尺寸=2M
- 最大执行时间
- 文件上传
- 最大输入时间
- 内存限制
$return
的值是多少?API接受的最大文件大小是多少?谢谢您的回答。我的服务器有这样的配置:post\u max\u size=100M上传\u max\u文件大小=100M max\u上传=20 max\u输入\u时间=60
@Samir可能max\u输入\u时间
太短了,我认为42mb的1分钟速度相当快。你可以试着增加它,然后再测试一次。但不确定这是否有帮助。这部分是正确的。由于文件本身已经在服务器中(如问题中的代码中所指定),upload\u max\u filesize
和max\u file\u uploads
实际上并不相关。由于OP使用cURL将文件传输到目标API,因此必须更改cURL的超时值,否则文件传输将超时。另外,目标API是否支持分块上传文件?一次性上传大文件毫无意义。@Twinfriends我增加了限制。现在,最大执行时间=360СПаззаза。Мцццццццццццццццццццццццццццццццц1094@萨米里重新开始。不行。我认为“”对获取文件有限制。请尝试upload\u max\u filesize
而不是upload\u max\u filesize
@samir您应该调试phpinfo()代码>,然后您将看到服务器中的实际配置是什么@萨米尔
$filename_pdf = $_SERVER['DOCUMENT_ROOT'] . '/test/test_pdf_2.pdf';
$fh_res = fopen($filename_pdf, 'r');
$login = '******';
$password = '*********';
$url = 'http://do.convertapi.com/Pdf2Image';
// Create a CURLFile object
$cfile = new CURLFile($filename_pdf, 'application/pdf', 'test_pdf_2.pdf');
$data = array(
'File' => $cfile,
'OutputFormat' => 'jpg',
'ApiKey' => '******',
'StoreFile' => 1,
'Timeout'=>'1200'
);
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
curl_setopt($process, CURLOPT_INFILESIZE, filesize($filename_pdf));
curl_setopt($process, CURLOPT_INFILE, $fh_res);
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, $login . ":" . $password);
curl_setopt($process, CURLOPT_TIMEOUT, 600);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, $data);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);
curl_close($process);