#php #azure-web-app-service #azure-sql-database
Вопрос:
У меня есть серверная система, которая использовалась для сериализации образа как base64 в базе данных Azure. Используя PHP, я не хочу использовать хранилище больших двоичных объектов. Я читаю загруженный файл, $_FILES['imgFile']['tmp_name']
когда запускаю его, говорю, что tmp_path в изображении не найден. Ни одна другая ошибка, указанная даже в ini_set('display_errors', 1);
том случае, если кто-либо успешно выполнил ее в Azure?
<?php
ini_set('display_errors', 1);
function endsWith( $haystack, $needle ) {
$length = strlen( $needle );
if( !$length ) {
return true;
}
return substr( $haystack, -$length ) === $needle;
}
$conn = require_once 'connect.php';
if (isset($_FILES['imgFile']))
{
$dt = date("Y-m-d H:i:s");
if(endsWith(strtolower($_FILES['imgFile']['name']), ".jpg") || $_FILES['imgFile']['type'] === "image/jpeg" || $_FILES['imgFile']['type'] === "image/jpg")
{
//echo($_FILES['imgFile']['tmp_name']);
if(!empty($_FILES['imgFile']['tmp_name']) amp;amp; file_exists($_FILES['imgFile']['tmp_name'])) {
$base64ImgData = base64_encode(file_get_contents(addslashes($_FILES['imgFile']['tmp_name'])));
echo $base64ImgData;
$tsql = 'INSERT INTO ImgStore(ImgDateStamp, ImgTimeStamp, ImgData) VALUES(?, ?, ?)';
$params = array($dt, $dt, $base64ImgData);
$stmt = sqlsrv_query( $conn, $tsql, $params);
unlink($_FILES['imgFile']['tmp_name']);
echo 'Added image';
}
else
{
echo 'File is not a JPG';
}
}
else
{
?>
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="POST">
<!-- MAX_FILE_SIZE must precede the file input field -->
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<!-- Name of input element determines name in $_FILES array -->
Send this file: <input name="imgFile" type="file" />
<input type="submit" value="Send File" />
</form>
<?
}
?>
Комментарии:
1. не могли бы вы, пожалуйста, поделиться полным сообщением об ошибке для лучшего понимания?
2. Сообщение об ошибке не говорит ничего, кроме ошибки 500 и путь не найден
3. не можете ли вы переопределить upload_tmp_dir в каком-нибудь месте памяти ?