フォームからファイルをアップロードしようとすると問題が発生します。ファイル入力のあるフォームは ajax を使用して作成されます。
ajax-getForm.php
<input id="uploadCouponPhoto" name="uploadCouponPhoto" type="file">
次に、ボタンにJavaScriptを使用します
<input id="popup_couponBox_commandButton" type="button" onclick="javascript: coupons_apply();" value="Appliquer">
フォームを保存する別の ajax ファイルを実行します。
ajax-saveCoupon.php
$customPhoto = @$_POST['uploadCouponPhoto'];
if(!empty($customPhoto)){
$name = "coupon_".$idCoupon;
$directory = $_SERVER["DOCUMENT_ROOT"]."/resources/images/members/".$idMember;
if(move_uploaded_file($customPhoto, $directory."/".$name)){
echo "success";
}
else{
var_dump($_FILES['uploadedfile']['error']);
}
}
ただし、ajax-saveCoupon.php の応答は常に false です。を使用してエラーを確認しようとしました$_FILES['uploadedfile']['error']
が、これは NULL になります。var_dump($_FILES)
空の配列を返します。uploadCouponPhoto: C:\fakepath\small-logo2.jpeg
ajax-saveCoupon ヘッダーのフォーム データでも確認できます。move_uploaded_file が入力と同じファイルにないためでしょうか?
ありがとう。