私は私のPHPフォームに苦労しています。インプットキャプチャ機能で画像をアップロードしたいしかし、画像はiOSデバイスのimgをキャプチャした後に回転されます。 exifについての記事がたくさん見つかりましたが、notihingは私のために働いていました。そこで私は以下のコードを貼り付けています。残りのコードにローテーションコードを実装する方法を教えてください。 (私はそれをやる方法はわかりません)Thx bros for help。あるいは何か提案はありますか?実装する コード:iOS画像ローテーションでのインプットキャプチャ
fileReader.onloadend = function() {
var exif = EXIF.readFromBinaryFile(new BinaryFile(this.result));
switch(exif.Orientation){
case 8:
ctx.rotate(90*Math.PI/180);
break;
case 3:
ctx.rotate(180*Math.PI/180);
break;
case 6:
ctx.rotate(-90*Math.PI/180);
break;
}};
残り:
if (isset($_POST['submit'])) {
if (empty($_POST['title']) or empty($_POST['shop']) or empty($_FILES['image']) or empty($_POST['price'])) {
echo "All fields must be filled";
}
else {
$userID = $_POST['userID'];
$title = $_POST['title'];
$price = $_POST['price'];
$price_before = $_POST['price_before'];
$town = $_POST['town'];
$shop = $_POST['shop'];
if(empty($_POST['price_before'])){
$price_before = null;
}
if(empty($_POST['cut'])){
$pcut = null;
}
if (isset($_FILES['image'])) {
$errors = array();
$file_name = $_FILES['image']['name'];
$file_size = $_FILES['image']['size'];
$file_tmp = $_FILES['image']['tmp_name'];
$file_type = $_FILES['image']['type'];
$file_ext = strtolower(end(explode('.', $_FILES['image']['name'])));
$expensions = array("jpeg", "jpg", "png");
if (in_array($file_ext, $expensions) === false) {
$errors[] = "extension not allowed, please choose a JPEG or PNG file.";
}
if ($file_size > 8097152) {
$errors[] = 'File size must be less than 8 MB';
}
if (empty($errors) == true) {
session_start();
$hour = date("H");
$min = date("i");
$sec = date("s");
$day = date("d");
$month = date("m");
$year = date("Y");
$url = "../pic/".$file_name.".".$file_ext;
$file_name = md5(uniqid());
move_uploaded_file($file_tmp, "../pic/".$file_name.".".$file_ext);
$upload = "INSERT INTO item (userID, title, price, price_before, town, shop, img_name, img_ext, hour, min, sec, day, month, year) VALUES ('$userID', '$title', '$price',' $price_before', '$town', '$shop', '$file_name', '$file_ext', '$hour', '$min', '$sec', '$day', '$month', '$year')";
$result = $conn -> query($upload);
echo '<div style=width:100%;height:100%;display:flex;margin:0;>
<div style=width:auto;height:auto%;vertical-align:middle;margin:auto;><div class="cssload-spin-box"></div></div></div>';
header('Refresh: 2; URL = ../index.php');
} else {
print_r($errors);
}
}
}
}
ありがとう、それは役に立つと思われますが、実装方法を教えてください。私はそのようなプロではない。 –
@IgorMiniMinaričこれは迅速な言語コードであり、iOS側で実装されます。しかし、私はあなたがPHPコードを求めていると思います。申し訳ありません。 – TheTiger