Ben JQuery'nın AJAX şeyi kullanarak bir dosya yüklemesini yapmaya çalışıyorum ve bu bana da işlemek için bu PHP kodu kullanıyorum 500.JQuery AJAX Dosya Yükleme Hatası Yani 500
$(function() {
$('form').submit
(
function()
{
$.ajax({
type: 'POST',
url: 'photochallenge/submit.php',
data: new FormData(this),
processData: false,
contentType: false,
success: function(data) {
Materialize.toast(data, 4000);
}
});
return false;
}
);
});
hatayı veren tutar dosya yükleme:
<?php
$target_dir = "uploads/";
$target_file = null;
$uploadOk = 1;
$response = "Please choose an image";
// Check if image file is a actual image or fake image
if(isset($_POST["pic"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
$uploadOk = 1;
} else {
$response = "File is not an image.";
$uploadOk = 0;
}
// Check file size
if ($uploadOk == 1 && $_FILES["fileToUpload"]["size"] > 500000) {
$response = "Sorry, your file is too large.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
// if everything is ok, try to upload file
} else {
//find target file
$found = false
$tmp = 0
while(!$found) {
$target_file = $target_dir . $tmp . ".png";
if(file_exists($target_file)) {
$tmp = $tmp + 1;
} else {
$found = true;
}
}
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$response = "Thank you for your submission!";
shell_exec("python log.py ".$_POST["firstname"]." ".$_POST["lastname"]." ".$target_file);
} else {
$response = "Sorry, there was an error uploading your file.";
}
}
}
echo $response;
?>
Ne yazık ki, gerçek sorunun nerede olduğunu bağlantısını serbest olamaz, ama umarım bu kod sorunu çözmeye yardımcı olmak yeterlidir. Başka ayrıntılara ihtiyaç varsa, lütfen bana bildirmekten çekinmeyin.
i ajax çağrısında kullanmaya çalıştığınız dosyadaki izinler ile başlamak istiyorum. Yazmaya çalıştığınız herhangi bir dizinde bu izin iznini aldıktan sonra, web sunucusunun yazma izinleri olması gerekir. Özellikle, kod bakarak shell_exec php.ini, – Chris
içinde birçok ana bilgisayar devre dışı bırakmak istiyorum bir işlev gibi görünüyor http 500 hata veya bazı iç mantık - 500 hatası? –
sunucunun hata günlüğünü kontrol edin. Büyük olasılıkla sınırın üstünde dosya yüklüyorsunuz. – Tejas