2016-04-01 8 views
0

Kann mich nicht darum kümmern, HTML-Formular (Eingabedatei) mit AJAX zu senden an PHP zum Hochladen und dann Pfad in einer Datenbank speichern - hier ist, wie der Code in der Minute aussieht.AJAX PHP-Datei-Upload - Dateigröße?

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";} 

Die PHP nichts in der Minute ist (aufgrund der Massendebugging), aber wie es derzeit läuft Dateien < = 53kb scheinen ok zu laden und ich bekomme "Alarm". Jede andere Größe Datei gibt nur [object object] und das Konsolenprotokoll sagt es nicht in der Lage ist, mit verbinden "page.php ..."

php.ini (in Root)

upload_max_filesize=100M 
post_max_size=105M 
max_execution_time=2000 
max_input_time=2000 
memory_limit=128M 
+0

Verwenden Sie Amp-Paket wie Xampp oder etwas ähnliches? Haben Sie Ihren Apache-Server nach dem Bearbeiten der Optionen neu gestartet? Was sagen Ihre Fehlerprotokolle? – vove

+0

@vove 123-reg Shared Hosting leider. und Fehlerprotokolle sagen nichts ... wörtlich ... – justsimpleshh

+1

Nun, wenn es ein Problem mit Ihrer Konfiguration geben würde, würde dies zu einem Fehler in php_error_log führen. Da du sagst, dass es nichts darin hat, würde ich mich mit 123-reg. Ich habe es geschafft, 3 GB in lokalen Speichern mit Ihrem Code, so dass kein Problem sein sollte. Ich möchte alle dazu ermutigen, einen lokalen Server (oder sogar zwei, wenn Sie es brauchen) zu starten und die entsprechenden Tests durchzuführen - Sie haben die totale Kontrolle über die Umgebung. Wenn Sie Dateien an einen Server senden, haben Sie keinerlei Kontrolle über die Fehlerbehebung. Obwohl Sie Zugriff auf ein Fehlerprotokoll in der Systemsteuerung haben sollten. – vove

Antwort

0

SOLUTION : Habe es funktioniert; Wie Vove in den Kommentaren vorgeschlagen hatte, kontaktierte ich meinen Dienstanbieter und es begann mysteriös zu arbeiten. Der Code ist korrekt.