POST не работи

Lasevg

Registered
Пробвах над 10 скрипта за качване на файл , и всеки ми казва че не е избран файл за качване ...
Някой досеща ли се от какво може да е проблема
 
Код:
<?php 
$site_link = "http://link.com"; //Лйнк към сайта ви, където се намира ъплоад формата (отзад не слагайте /) 
$upload_dir = "images/upload/"; //Може да се смени с друга папка , която вие си пожелаете 
$size_bytes = 1571200; //Големината на файла в bytes 
$extlimit = "no"; //Да има лимит или не (yes/no) 
$limitedext = array(".gif",".jpg",".png",".jpeg"); //Разрешени файлове за качване 
//Далй папката в която ще се качват файловете съществува или не 
if (!is_dir("$upload_dir")) { 
die ("Грешка: Папката <b>($upload_dir)</b> не съществува"); 
} 

if(isset($_POST['uploadform'])){ 
// Когато полето на формата е попалнено тогава ще се качват нещата 
//Започване на ъплоад формата. 

$file_tmp = $_FILES['filetoupload']['tmp_name']; 
$file_name = $_FILES['filetoupload']['name']; 
//Взимане на размера на файла 
$file_size = $_FILES['filetoupload']['size']; 

//Показване когато не е избран файл 
if (!is_uploaded_file($file_tmp)){ 
echo "Грешка : Моля изберете файл за качване!. <br>↵<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>"; 
exit(); //Излиза от това и не прави нищо друго. 
} 


//Проверява дали големината на файла съвпада с допустимата 
if ($file_size > $size_bytes){ 
echo "Грешка : Файла е твърде голям. Той трябва да бъде под <b>". $size_bytes / 1024 ."</b> KB. <br />↵<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>"; 
exit(); 
} 
//Далй файла е от допустимите 
$ext = strrchr($file_name,'.'); 
if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) { 
echo("Грешка : Този тип файл не е позволен за качване. "); 
exit(); 
} 


// Далй има такъв файл 
	
// Далй има такъв файл 
$file_name = rand(0,100000).strrchr($file_name,'.'); 
while(file_exists($upload_dir.$file_name)){ 
$file_name = rand(0,100000).strrchr($file_name,'.'); 
} 

$snimkata = $site_link."/".$upload_dir."".$file_name; 
//На мястото на интервала (space) се слага "_". 
$file_name = str_replace(' ', '_', $file_name); 
//Местене на файла в папката която сме посочили отгоре на скрипта 
//move_uploaded_file('filename','destination') С тази функция преместваме файла в избраната от нас диреактория 
if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) { 
//Казва на потребителя кога файла е качен и дава лйнк към него 
echo "<center>Файла (<a href=\"$upload_dir$file_name\">$file_name</a>) е качен успешно! <br /><br /> 
<img src=\"".$site_link."/".$upload_dir."".$file_name."\" width=\"400\" height=\"300\" border=\"0\"><br> 
<a href=".$site_link."/".$upload_dir."".$file_name.">[Оригинален вариант]</a><br />
<b>Форум Линк</b><br /> 
<input type=\"text\" value='[url=".$snimkata."][img]".$snimkata."[/img][/url]' size=\"100\"><br /> 

<b>HTML Текстови линк</b><br /> 
<input type=\"text\" value='<a href=".$snimkata.">".$snimkata."</a>' size=\"100\"><br /> 
<b>Директен линк към оригинала</b><br /> 
<input type=\"text\" value='".$snimkata."' size=\"100\"><br /> 


↵<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>"; 
exit(); 
}else{ 
//Показва грешка при провал на преместването 
echo "Има проблем при преместването на вашия файл. <br />↵<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>"; 
exit(); 
} 
//Край на .... 
// Ако формата не е попълнена да се покаже това : 
}else{ 
//Началото на else 

// Проверяване на сички наши заявки (да не се надвишава големината , и да е един от избраните типове файлове от нас) 
for($i=0;$i<count($limitedext);$i++){ 
if (($i<>count($limitedext)-1))$commas=", ";else $commas=""; 
list($key,$value)=each($limitedext); 
$all_ext .= $value.$commas; 
} 

//Изложението 
echo "<br /><h3>Качване на снимки</h3>" 
."- Поддържани разширения: $all_ext <br />" 

."<form method=\"post\" enctype=\"multipart/form-data\" action=\"\">" 
."<input type=\"file\" name=\"filetoupload\" />" 
."<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\" />" 
."<input type=\"submit\" name=\"uploadform\" value=\"Изпрати\" />" 
."</form>"; 
}//Край на else 

?>

я пробвай този
 
дай кода който ти прави проблем


най- вероятно във формата не си слойил това enctype=multipart/form-data
 
echo "<br /><h3>Качване на снимки</h3>"
."- Поддържани разширения: $all_ext <br />"

."<form method=\"post\" enctype=\"multipart/form-data\" action=\"\">"
."<input type=\"file\" name=\"filetoupload\" />"
."<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\" />"
."<input type=\"submit\" name=\"uploadform\" value=\"Изпрати\" />"
."</form>";
 
Ми при мен работи, нормално - http://www.wow-multimedia.org/upload
Провери дали папката ти има 777 права и дали си задал правилно пътя до папката в скрипта
 
Щом си под windows съдя, че си с някои от webserver-ите /xampp/vertrigoserv и т.н. там би трябвало автоматично да са със 777 права, поне доколкото съм ги ползвал съм останал с това впечатление, може php версията да ти е много стара (тоест webserver-а) да е стар, изтегли си най-новия, аз съм с най-новият php 5.3 и проблем няма както виждаш...
 
Значи виж, ще ти обясня подробно, копираш скрипта, правиш си файл с разширение .php и го слагаш там примерно upload.php, след това

$site_link = "http://site.com"; го правиш примерно с твоя домейн или IP (ако нямаш домейн, но с ip не съм сигурен дали ще работи както трябва)
отдолу:

$upload_dir = "images/upload/"; - примерно в htdocs папката правиш папка images и вътре папка upload и така ще работи без да променяш тук, но ако искаш друга папка можеш да промениш дефинирана.
Та това е за едитване, всичко друго работи, даже бях помолил от тук на всяка картинка да се слага random име и всичко работи супер..
 
Неможе ли да update php версията през xampp, или трябва преинсталация на целия сървър
Едит ; пробвах това което каза но не става , явно преинсталация ...
 

Back
Горе