$DB->query("SELECT Code, Extension FROM uploads WHERE NewHash='" . db_string($hash) . "'"); if ($DB->record_count() > 0) { list($Code, $Extension) = $DB->next_record(); $results[] = array("status" => 13, "code" => $Code, "ext" => $Extension); echo $Code . '.' . $Extension; die; } // Flush image contents to a temp file //$src=tempnam("/tmp", "ptpimg."); $src = "raw/{$code}"; if (!move_uploaded_file($_FILES['uploadfile']['tmp_name'], $src)) { die("error"); } $results = array(); $DB->query("INSERT INTO uploads (NewHash, UserID, Extension, Code, Resolution, Size, Type) VALUES('" . db_string($hash) . "', '" . db_string($_GET['uid']) . "', '" . db_string($ext) . "', '" . db_string($code) . "', '" . db_string($res) . "', '" . db_string($size) . "', '" . db_string($ImageType) . "')"); if ($DB->affected_rows() > 0) { // Serialized returns with status code 1 $results[] = array("status" => 1, "code" => $code, "ext" => $ext); } echo $code . '.' . $ext; die; } if (isset($_GET['type']) && $_GET['type'] == "uploadv3") { if (!isset($_GET['key']) && $_GET['key'] != "QT5LGz7ktGFVZpfFArVHCpEvDcC3qrUZrf0kP") { die("404/Invalid API key"); } while ($code = randFN()) { if (!file_exists('raw/$code')) { break; } }
$Query = array(); while (list($Key, list($ID, $Code)) = each($Results)) { if ($QueryCount > 500) { echo "500 queries, flushing."; $x = microtime(); $x = explode(" ", $x); $x = $x[1] + $x[0]; foreach ($Query as $q) { $DB->query($q); } $y = microtime(); $y = explode(" ", $y); $y = $y[1] + $y[0]; $e = $y - $x; $e = floor($e * 1000); echo "... done (" . $DB->affected_rows() . " affected) (" . $e . " ms)\n"; $QueryCount = 0; unset($x, $y, $e, $Query); } $NewHash = md5_file("raw/{$Code}"); if (!$NewHash && !file_exists("raw/{$Code}")) { $DB->query("DELETE FROM uploads WHERE ID='" . $ID . "'"); continue; } echo "{$Key} / {$UBound} Updating hash: {$Code} -> {$NewHash}\n"; $Query[] = "UPDATE uploads SET NewHash='" . $NewHash . "' WHERE ID='" . $ID . "'\n"; $QueryCount++; unset($Key, $ID, $Code); } if ($QueryCount > 0) { foreach ($Query as $q) {