0
AJAXを使用してHTML形式(入力ファイル)をアップロードしてPHPにアップロードし、データベースにパスを保存することはできません。ここでコードは分かります。AJAX PHPファイルのアップロード - ファイルサイズ?
HTML:
<form action="" id="upppic" method="post" enctype="multipart/form-data">
<label for="ppic">Change Profile Picture</label>
<input type="file" name="ppic">
<input type="submit" value="Upload">
</form>
AJAX:
$(function() {
$("form#upppic").submit(function() {
$('#loading').show();
var userid = localStorage.userid;
var userid = 2;
//disable the default form submission
event.preventDefault();
//grab all form data
var formData = new FormData($(this)[0]);
$.ajax({
url: "http://www.url.com/page.php?uid="+ userid,
type: "POST", // Type of request to be send, called as method
data: formData,
dataType: "text",
cache: false,
contentType: false,
processData:false,
crossDomain:true,
success: function(data){
alert(data);
$('#loading').hide();},
error: function (data){
alert(data);
$('#loading').hide();}
});
return false;
});
});
PHP:
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type,x-prototype-version,x-requested-with');
$uid=(int)$_GET['uid'];
if($uid>1)
{
echo "got here";}
PHPが(による質量デバッグまで)分の何物でもありませんが、それは現在のファイルを実行して< = 53kbがアップロードされているように見えます。その他のサイズのファイルがちょうど[オブジェクトのオブジェクト]を返し、コンソールログは、(ルートで)
のphp.iniファイル
upload_max_filesize=100M
post_max_size=105M
max_execution_time=2000
max_input_time=2000
memory_limit=128M
xamppなどのアンプパッケージを使用していますか?オプションを編集した後にApacheサーバーを再起動しましたか?あなたのエラーログは何を言いますか? – vove
@vove 123-regは残念なことに共有ホスティングです。エラーログは何も言いません...文字通り... – justsimpleshh
設定に問題がある場合は、php_error_logにエラーが発生します。あなたはそれに何もないと言うので、私は123-regに連絡します。あなたのコードを使ってローカルで3 GBを節約できたので、問題はないはずです。すべての人のために、私は強くあなたがローカルサーバー(またはそれを必要とする場合は2つ)を起動し、それらのテストを行うことを強くお勧めします。あなたは環境を完全に制御できます。あなたが何らかのサーバーにファイルを送る場合、トラブルシューティングを完全に制御することは不可能に近いでしょう。コントロールパネルのエラーログにアクセスする必要があります。 – vove