Hello All,
I have a simple upload form which I am using to upload files to Box.net using PHP Curl. It works fine for small files, but times out for larger files. Anyone have any suggestions for this?
Thanks,
Pete
Here is the code:
<html>
<body bgcolor="black">
<div align="center">
<img src="Homepage_02.jpg" border="0" />
<br>
<br>
<font color="#f1ca63"; font face="Arial"; font size="5">Upload</font>
<br>
<br>
<?php
if (isset($_POST['upload']))
{
if (!empty($_FILES['new_file_1']['name']))
{
$allowedExtensions = array("txt","csv","xml","css","doc", "docx","xls","xlsx","rtf","ppt","pdf","swf","flv","avi","wmv","mov","jpg","jpeg","gif","png");
foreach ($_FILES as $file)
{
if ($file['tmp_name'] > '')
{
if (!in_array(end(explode(".", strtolower($file['name']))),$allowedExtensions))
{
echo $file['name'].' is an invalid file type!<br/>';
}
else
{
$temp_name = $_FILES['new_file_1']['name'];
$localfile = $_FILES['new_file_1']['tmp_name'];
$file = fopen($localfile,'r');
$request_url = 'https://upload.box.net/api/1.0/upload/[Token Here]/[Folder ID]';
$post_params['check_name_conflict_folder_option'] = urlencode('1');
$post_params['new_file_1'] = "@$localfile";
$post_params['description'] = urlencode($_POST['description']);
$post_params['uploader_email'] = urlencode($_POST['uploader_email']);
$post_params['upload'] = urlencode('upload');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params);
curl_setopt($ch, CURLOPT_TIMEOUT, 300);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
$resultArray = explode(' ',$result);
if($resultArray[5] != '')
{
$fileID = substr($resultArray[5],4,-1);
$shareName = $temp_name;
$link = 'http://www.box.net/shared/'.$shareName;
}
$renameurl = addslashes("https://www.box.net/api/1.0/rest?action=rename&api_key=[API KEY]&auth_token=[TOKEN Here]&target=file&target_id=".$fileID."&new_name=".$shareName);
$renameResult = file_get_contents($renameurl);
echo '<font color="white">Upload Successful</font>';
}
}
}
}
else
{
echo '<font color="white">Please select a file</font>';
}
}
?>
<hr width=600 color=grey>
<br>
<div align="center">
<form action="box_upload_curl.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="check_name_conflict_folder_option" value="1"/>
<table>
<tr>
<td class="field" style="color: #f1ca63; font-family: Arial; font-size: 14px" width="50%">Choose File to Upload: </td>
<td class="input"><input type="file" name="new_file_1" /></td>
</tr>
<tr>
<td class="field field_top" style="color: #f1ca63; font-family: Arial; font-size: 14px" ><br/> Description (optional):</td>
<td class="input"><br/><textarea name="description"></textarea></td>
</tr>
<tr>
<td class="field field_top" style="color:#f1ca63; font-family: Arial; font-size: 14px" >
<br/>
Your e-mail <font color="red">*</font>:
</td>
<td class="input field_top" style="color: #f1ca63; font-family: Arial; font-size: 14px" >
<br/>
<input type="text" name="uploader_email" id="email_input"></input>
</td>
</tr>
<tr>
<td colspan="2" class="submit" align="center">
<br />
<input type="submit" name="upload" value="Upload" />
</td>
</tr>
</table>
</form>
<hr width=600 color="grey">
</div>