upload Benutzer-Profil-Bild-in-php
Erstellte ich ein einfaches upload-Formular der code funktioniert perfekt, aber wenn ich hochladen 2 Kb,20 Kb,26kb, dann wird der pic hochgeladen aber wenn ich versuche den upload von 60kb,66kb dann wird die Seite stecken, laden,
Ich weiß nicht, warum dies geschehen, und ich habe auch die max-upload-size in php.ini.
kann mir jemand sagen, warum dies passiert ist?
Signup.php
<!DOCTYPE html>
<head>
<title>Index</title>
</head>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
register.php
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
//Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
//Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
//Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
//Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
//Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
//if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
dies ist alles, was ich haben überprüfen Sie bitte Sie...
Hinweis Sag mir eine Lösung,Wenn ich testen Sie den obigen code auf Windows xp, wird es korrekt ausgeführt wird und ich den upload von bis zu 103kb-Datei, aber es funktioniert nicht auf Windows 8, und schaffen problem wie ich oben erwähnt... ist das Xammp neuesten version haben die bugs oder was ist das problem?
Hinweis Der Fehler ist nicht der code, der Fehler ist logisch, also bitte seien Sie präzise und auf den Punkt.
Bitte fügen Sie die erklärende Antwort....
.php
Datei mit dem uploader?Ich habe versucht, try catch block, aber keine Fehler zeigen, und das Hauptproblem ist, dass ich beschrieben in meiner Frage. und serakfalcon ich weiß, du meinst die Verlängerung der Validierung, werde ich es letztere auf, aber für jetzt ich bin stecken in hochladen..
wie hoch ist die Auflösung der hochgeladenen Bild ? haben Sie versucht, mit einem anderen browser ?
was meinst du mit $Bild['name'] = $Bild['name'] ???
die Auflösung bedeutet nicht, und die $Bild['name']=$Bild['name']
InformationsquelleAutor | 2014-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als @Shikata schrieb, vorsichtig sein mit:
Stattdessen verwenden Sie einfach:
Und wie die anderen Antworten, müssen Sie prüfen, die Validierung! Auch das löschen der strar_session(); aus connection.php
Auch als sugestion versuchen, zu prüfen, PDO prepared-statements http://php.net//manual/en/pdo.prepared-statements.php (empfehle ich wirklich die Lektüre dieses, bitte geben Sie es versuchen, es kann Ihnen eine weitere sichere Möglichkeit zum implementieren von Abfragen durch die Bindung von Parametern und Weise vermeiden, dass einige SQL-Injektionen Probleme)
(Sorry für die nicht bis zu dem Punkt mit der vorhergehenden Antwort)
Das ist auch ungefähr der code, soweit wie ich es probiert habe (ein paar mal), über das upload-problem vielleicht die überprüfung der
upload_max_filesize
undpost_max_size
. Wenn das problem immer noch versuchen, die Kontrollemax_input_time
undmax_execution_time
. Ich hoffe, Sie bekommen eine Lösung.InformationsquelleAutor Gerardo Charles Rojas Vega
kann seine Berechtigung-Fehler
in linux öffnen Sie das terminal und aktivieren Datei, die Erlaubnis
zu deaktivieren :-
oder gehen Sie zu Ihrem Datei - >Rechtsklick >ändern-Berechtigung von "schreibgeschützt" auf " Lesen und schreiben
InformationsquelleAutor RinShan Kolayil