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
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
@vove 123-reg Shared Hosting leider. und Fehlerprotokolle sagen nichts ... wörtlich ... – justsimpleshh
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