PHP Upload problem ..

2 отговора 109 прегледа
#1

PHP Upload problem ..

Zdraveyte.
Imam problem s script koito tryabva da kachva failove na servera obache ne iska da raboti kato dori ne si dava suobshteniyata za greshki. Molya vi za pomosht otkade moja da e tozi problem .

Blagodarya vi predvaritelno





<html>
<head>
<title>Insert Image</title>
<STYLE TYPE="text/css">
BODY {margin-left:10; font-family:Verdana; font-size:10pt; background:menu}
BUTTON {width:5em}
TABLE {font-family:Verdana; font-size:10pt;}
P {text-align:center}
</STYLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?php
$NEXT_ROOT=
$the_path="./../../../images/uploads/";
$allowed_types = array("image/bmp","image/gif","image/jpg","image/jpeg");

function list_files() {
global $the_path;
$handle = dir($the_path);
print "<select name=\"im\">";
while ($file = $handle->read()) {
if (($file != ".") && ($file != "..")) {
echo "<option value=\"".$file."\">";
echo $file;
echo "</option>";
}
}
print "</select>";
}

if ( $action) {
function validate_upload($the_file) {
global $allowed_types,$the_file_type;
$start_error = "\n<b>Error:</b>\n<ul>";
if ($the_file == "none") {
$error .= "\n<li>You did not upload anything!</li>";
} else {
if (!in_array($the_file_type,$allowed_types)) {
$error .= "\n<li>The file that you uploaded was of a type that is not allowed, you are only
allowed to upload files of the type:\n<ul>";
while ($type = current($allowed_types)) {
$error .= "\n<li>" . $registered_types[$type] . " (" . $type . ")</li>";
next($allowed_types);
}
$error .= "\n</ul>";
}
if ($error) {
$error = $start_error . $error . "\n</ul>";
return $error;
} else {
return false;
}
}
}

function upload($the_file) {
global $the_path,$the_file_name, $PHP_SELF;
$error = validate_upload($the_file);
if ($error) {
echo "<script>alert('".$error."');</script>";
} else {
if (!@copy($the_file, $the_path.$the_file_name)) {
echo "<script>alert (\"Something barfed, check the path to and the permissions for the upload directory\"); </script>";
} else {
echo "<script>window.close();</script>";
}
}
}

upload($the_file);
}
?>
<body >
<?php list_files(); ?>
<form name="form" enctype="multipart/form-data" method="post" action="<?php echo $PHP_SELF; ?>">
<input type="file" name="the_file">
<input type="hidden" name="task" value="upload" >
<input type="submit" name="action" value="upload">
</form>
<div align="center"><input type="button" name="close" value="Cancel" onclick="window.close()"></div>
</body>
</html>

Отговор
в отговор на a-тo #2

Re: chaos

kak si go zavurtial, ne e istina.
nai napred ne sum ia nameril proverkata za tova dali file e upload-nat, kuv e tozi $the_file_type .... $the_file_name ... a pa tova neshto me postavi v trans if (!@copy($the_file, $the_path.$the_file_name))

ima dosta po-priaten metod ot tozi koito pozlvash,
[линк]

-----------------------
гърбавия ковчег ще го изправи
Отговор
в отговор на a-тo #3

Re: PHP Upload problem ..

Hi,
Качването на файлове работи, стига файла който да е качен е ОК.
Грешките не излизат по следните причини:
1. В js alert-a подаваш текст на няколко реда, което води до грешка.
2. Сложил си този код:
if ($error) {
$error = $start_error . $error . "\n</ul>";
return $error;
} else {
return false;
}

в else на условието if($the_file == "none"), поради което $error не се инициализира когато няма качен файл. Малко по-рано трябва да затвориш elsa и ще се оправи

Отговор