PHP Upload - Erlauben nur jpg-Dateien
Dies ist, was ich derzeit habe:
$file_name = $HTTP_POST_FILES['uid']['name'];
$user= 'FILENAME';
$ext = pathinfo($file_name, PATHINFO_EXTENSION);
$new_file_name=$user . '.' . $ext;
$path= "uploads/images/users/".$new_file_name;
if($ufile !=none)
{
if(copy($HTTP_POST_FILES['uid']['tmp_name'], $path))
{
echo "Successful<BR/>";
echo "File Name :".$new_file_name."<BR/>";
echo "File Size :".$HTTP_POST_FILES['uid']['size']."<BR/>";
echo "File Type :".$HTTP_POST_FILES['uid']['type']."<BR/>";
}
else
{
echo "Error";
}
}
Sie können die getimagesize () - Methode zeigte in Ihrem weitere Fragen
Ist dies nicht der beste Weg, eine Frage zu stellen. Was ist dein problem? Was brauchen Sie, helfen Sie mit, funktioniert der obige code das tun, was Sie erwarten würde?
Nur zur info,
Ebenso, verwenden Sie nicht
Ist dies nicht der beste Weg, eine Frage zu stellen. Was ist dein problem? Was brauchen Sie, helfen Sie mit, funktioniert der obige code das tun, was Sie erwarten würde?
Nur zur info,
HTTP_POST_FILES
veraltet für Jahre; verwenden Sie $_FILES
statt, es sei denn, Sie sind gezwungen, zu entwickeln, die für PHP4 (wer noch?)Ebenso, verwenden Sie nicht
copy()
verarbeiten der hochgeladenen Dateien. PHP hat move_uploaded_file()
speziell für diesen Zweck, die hat einige zusätzliche überprüfungen Folie server-side-Angriffe, die auf die hochgeladene Datei.
InformationsquelleAutor Sean | 2011-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
hoffe, das hilft. Auch, warum sind Sie mit HTTP_POST_FILES anstatt $_FILES verwenden? Arbeiten Sie mit einer älteren version von PHP?
getimagesize()
wäre besserJa, in der Tat, Dank für das heads-up
Ich habe jetzt gewechselt von der Verwendung von kopieren und HTTP_POST_FILES aber noch nicht sicher, wie, dass nur jpg - iv alles versucht, gibt den Fehler aber immer noch uploads oder uploads nichts, einschließlich der jpg-Dateien
ist dies sicher gegen das hochladen von php-Skripten zu RCE?
InformationsquelleAutor Simon H
Nie jemals jemals Vertrauen, dass dies geschieht. Es ist unsicher und könnte möglicherweise dazu führen, dass die Leute Schrauben sich mit Ihrem server. Versuchen Sie, diese anstelle http://ar.php.net/imagecreatefromjpeg
Es so:
Dadurch wird effektiv vermeiden Sie die Verwendung jeglicher Dateien, die nicht JPEGs, aber wenn das, was Sie wollen, ist der eigentliche upload zu Ende halbem Weg durch, dann wohl tun müssen, um Ihre Upload mit flash
InformationsquelleAutor Carlos Vergara