Проблем с код за качване на файлове

Dizasterr

Registered
Здравейте! Написах един код за качване на файлове, но не премества файловете в папката. Ето кода:
Код:
<?php
	require_once("../connection.php");
    mysql_query("SET NAMES cp1251");
    mysql_query("SET CHARACTERS cp1251");
	header("Content-type: text/html; charset=cp1251");
	
	$logged=$_SESSION['login'];
	$lessonid=(int)$_GET['lessonid'];
	
	echo "<form method='post' action='' enctype='multipart/form-data'>";
	echo "<input type='file' name='path' id='path' /><br/><br/><br/>";
	echo "<input type='submit' name='submit' value='Качи' />";
	echo "</form>";
	
	if(isset($_POST['submit'])) {
	
		$path = htmlspecialchars(addslashes($_POST['path']));

			if($_FILES['path']['error'] > 0) {
				echo "Възникна грешка при качването на файла!";
			}	
			
			if($_FILES['path']['size'] > 100000000000) {
				die("Твърде голям файл!");
			}
			
//			if($_FILES['path']['type'] != '/flv') {
	//			die("Грешен тип на файла!");
	//		}
			
			if(file_exists("myfolder/" . $_FILES['path']['name'])) {
				die("Този файл вече съществува!");
			}else{
				if(move_uploaded_file($_FILES["file"]["tmp_name"],
					  "myfolder/" . $lessonid)) {
					
						echo "Файлът е качен успешно!";
					}else{
						echo "Грешка при качването на файла!";
					}
	
	}
	}

?>
 
<?php
require_once("../connection.php");
mysql_query("SET NAMES cp1251");
mysql_query("SET CHARACTERS cp1251");
header("Content-type: text/html; charset=cp1251");

$logged=$_SESSION['login'];
$lessonid=(int)$_GET['lessonid'];

echo "<form method='post' action='' enctype='multipart/form-data'>";
echo "<input type='file' name='path' id='path' /><br/><br/><br/>";
echo "<input type='submit' name='submit' value='Качи' />";
echo "</form>";

if(isset($_POST['submit'])) {

$path = htmlspecialchars(addslashes($_POST['path']));

if($_FILES['path']['error'] > 0) {
echo "Възникна грешка при качването на файла!";
}

if($_FILES['path']['size'] > 100000000000) {
die("Твърде голям файл!");
}

// if($_FILES['path']['type'] != '/flv') {
// die("Грешен тип на файла!");
// }

if(file_exists("../myfolder/" . $_FILES['path']['name'])) {
die("Този файл вече съществува!");
}else{
if(move_uploaded_file($_FILES["file"]["tmp_name"],
"../myfolder/" . $lessonid)) {

echo "Файлът е качен успешно!";
}else{
echo "Грешка при качването на файла!";
}

}
}

?>
И кажи дали не си на подпапка като отваряш в браузъра... Гледай адреса да не е от типа http://site.com/papka_sys_sistemkata/ а примерно да е на http://site.com/

EDIT: ПРОМЕНИХ МАЛКО ПЪТЯ... СЛОЖИХ ".."
 
Пак не става. Адресът е http://mysite.com/Pages/mypage.php?id=1 - това е страницата чрез, която качвам файловете. Като сега изпробвам скрипта на локалхоста.
 
Никаква разлика. Папката, в която искам да се качват е подпапка на папка с име Pages. Също файлът чрез, който качвам файлове се намира в папката Pages.
 
Код:
<?php
require_once("../connection.php");
mysql_query("SET NAMES cp1251");
mysql_query("SET CHARACTERS cp1251");
header("Content-type: text/html; charset=cp1251");

$logged=$_SESSION['login'];
$lessonid=(int)$_GET['lessonid'];

echo "<form method='post' action='' enctype='multipart/form-data'>";
echo "<input type='file' name='path' id='path' /><br/><br/><br/>";
echo "<input type='submit' name='submit' value='Качи' />";
echo "</form>";

if(isset($_POST['submit'])) {

$path = htmlspecialchars(addslashes($_POST['path']));

if($_FILES['path']['error'] > 0) {
echo "Възникна грешка при качването на файла!";
}

if($_FILES['path']['size'] > 100000000000) {
die("Твърде голям файл!");
}

// if($_FILES['path']['type'] != '/flv') {
// die("Грешен тип на файла!");
// }

if(file_exists("../ПАПКА/ПОДПАПКА/" . $_FILES['path']['name'])) {
die("Този файл вече съществува!");
}else{
if(move_uploaded_file($_FILES["file"]["tmp_name"],
"../ПАПКА/ПОДПАПКА/" . $lessonid)) {

echo "Файлът е качен успешно!";
}else{
echo "Грешка при качването на файла!";
}

}
}

?>

Замести имената на ПАПКА и ПОДПАПКА с твоите и пробвай
 
Код:
<?php
require_once("../connection.php");
mysql_query("SET NAMES cp1251");
mysql_query("SET CHARACTERS cp1251");
header("Content-type: text/html; charset=cp1251");

$logged=$_SESSION['login'];
$lessonid=(int)$_GET['lessonid'];

echo "<form method='post' action='' enctype='multipart/form-data'>";
echo "<input type='file' name='path' id='path' /><br/><br/><br/>";
echo "<input type='submit' name='submit' value='Качи' />";
echo "</form>";

if(isset($_POST['submit'])) {

$path = htmlspecialchars(addslashes($_POST['path']));

if($_FILES['path']['error'] > 0) {
echo "Възникна грешка при качването на файла!";
}

if($_FILES['path']['size'] > 100000000000) {
die("Твърде голям файл!");
}

// if($_FILES['path']['type'] != '/flv') {
// die("Грешен тип на файла!");
// }

if(file_exists("Pages/myfolder/" . $_FILES['path']['name'])) {
die("Този файл вече съществува!");
}else{
if(move_uploaded_file($_FILES["file"]["tmp_name"],
"Pages/myfolder/" . $lessonid)) {

echo "Файлът е качен успешно!";
}else{
echo "Грешка при качването на файла!";
}

}
}

?>

Я пробвай така...
 
Оправих кода. Грешката беше моя. Но сега имам друг проблем. Като кача файла защо не е с формат flv като файлът, който качих е с такъв формат ?
 
Просто в базата данни не се записва като flv явно и за това ти прави проблеми... Огледай си заявките да не е да се сплитва нещо самото име на файла....
 
Оправих се. Все пак благодаря на всички, които помогнаха. Ето финалния код:
Код:
<?php
	require_once("../connection.php");
    mysql_query("SET NAMES cp1251");
    mysql_query("SET CHARACTERS cp1251");
	
	$id=(int)$_GET['lessonid'];
	
	echo "<form method='post' action='' enctype='multipart/form-data'>";
	echo "<input type='file' name='path' id='path' /><br/><br/><br/>";
	echo "<input type='submit' name='submit' value='Качи' />";
	echo "</form>";
	
	if(isset($_POST['submit'])) {
	
		$path = htmlspecialchars(addslashes($_POST['path']));

			if($_FILES['path']['error'] > 0) {
				echo "Възникна грешка при качването на файла!";
			}	
			
			if($_FILES['path']['size'] > 100000000000) {
				die("Твърде голям файл!");
			}
			
			$dir = "videolessons/$lessonid.flv";
//			if($_FILES['path']['type'] != '/flv') {
	//			die("Грешен тип на файла!");
	//		}
			
			if(file_exists("myfolder/" . $_FILES['path']['name'])) {
				die("Този файл вече съществува!");
			}else{
				if(move_uploaded_file($_FILES['path']['tmp_name'],
					  "myfolder/"."$lessonid.flv")) {
					  
				$insert=mysql_query("INSERT INTO `table` (`row`,`row`) VALUES ('$dir','$id')") or die(mysql_error());
				
						echo "Файлът е качен успешно!";
					}else{
						echo "Грешка при качването на файла!";
					}
	
	}
	}

?>
 

Back
Горе