Форум

Data.BG Форуми: Upload Система - Data.BG Форуми

Прехвърляне към съдържание

Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

Upload Система Какво греша, или не правя

#1
Потребителят е неактивен   nightshadee 

  • Група: Потребители
  • Мнения: 84
  • Регистриран: 02-July 08
  • Репутация: 0
Уж всичко правя, но когато цъкна Submit за да ъплоудна файла (redirect-ва към upload_file.php и вместо да ми изпише, че съм ъплоуднал файла, ми излиза
0) { echo "Error: " . $_FILES["file"]["error"]
 . "
"; } else { echo "Upload: " . $_FILES["file"]["name"] . "
"; echo "Type: " . $_FILES["file"]["type"] . "
"; echo "Size: " . ($_FILES["file"]["size"]
 / 1024) . " Kb
"; echo "Stored in: " . $_FILES["file"]["tmp_name"]
; } ?> 0) { echo "Error: " . $_FILES["file"]["error"]
 . "
"; } else { echo "Upload: " . $_FILES["file"]["pig"] . "
"; echo "Type: " . $_FILES["file"][".jpg"] . "
"; echo "Size: " . ($_FILES["file"]["100"]
 / 1024) . " Kb
"; echo "Stored in: " . $_FILES["file"]["rofl"];
 } } else { echo "Invalid file"; } ?>

Ясно е, че не съм направил нещо както трябва. Пробвах 6-7 кодове от все различни сайтове, и все същото.
Ето ги и всички неща, които трябва да се направят. Сайта няма да покажа, ще се счете за реклама...

Look at the following HTML form for uploading files:
<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

Notice the following about the HTML form above:

	* The enctype attribute of the <form> tag specifies which content-type to use when submitting the form. "multipart/form-data" is used when a form requires binary data, like the contents of a file, to be uploaded
	* The type="file" attribute of the <input> tag specifies that the input should be processed as a file. For example, when viewed in a browser, there will be a browse-button next to the input field

Note: Allowing users to upload files is a big security risk. Only permit trusted users to perform file uploads.
Create The Upload Script

The "upload_file.php" file contains the code for uploading a file:
<?php
if ($_FILES["file"]["error"
] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"]
 . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"]
 / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"]
;
  }
?>

By using the global PHP $_FILES array you can upload files from a client computer to the remote server.

The first parameter is the form's input name and the second index can be either "name", "type", "size", "tmp_name" or "error". Like this:

	* $_FILES["file"]["name"] - the name of the uploaded file
	* $_FILES["file"]["type"] - the type of the uploaded file
	* $_FILES["file"]["size"] - the size in bytes of the uploaded file
	* $_FILES["file"]["tmp_name"]
 - the name of the temporary copy of the file stored on the server
	* $_FILES["file"]["error"]
 - the error code resulting from the file upload

This is a very simple way of uploading files. For security reasons, you should add restrictions on what the user is allowed to upload.
Restrictions on Upload

In this script we add some restrictions to the file upload. The user may only upload .gif or .jpeg files and the file size must be under 20 kb:
<?php
if ((($_FILES["file"]["
type"] == "image/gif")
|| ($_FILES["file"]["type"]
 == "image/jpeg")
|| ($_FILES["file"]["type"]
 == "image/pjpeg"))
&& ($_FILES["file"]["size"]
 < 20000))
  {
  if ($_FILES["file"]["error"
] > 0)
	{
	echo "Error: " . $_FILES["file"]["error"]
 . "<br />";
	}
  else
	{
	echo "Upload: " . $_FILES["file"]["name"] . "<br />";
	echo "Type: " . $_FILES["file"]["type"] . "<br />";
	echo "Size: " . ($_FILES["file"]["size"]
 / 1024) . " Kb<br />";
	echo "Stored in: " . $_FILES["file"]["tmp_name"]
;
	}
  }
else
  {
  echo "Invalid file";
  }
?>

Note: For IE to recognize jpg files the type must be pjpeg, for FireFox it must be jpeg.
Saving the Uploaded File

The examples above create a temporary copy of the uploaded files in the PHP temp folder on the server.

The temporary copied files disappears when the script ends. To store the uploaded file we need to copy it to a different location:
<?php
if ((($_FILES["file"]["
type"] == "image/gif")
|| ($_FILES["file"]["type"]
 == "image/jpeg")
|| ($_FILES["file"]["type"]
 == "image/pjpeg"))
&& ($_FILES["file"]["size"]
 < 20000))
  {
  if ($_FILES["file"]["error"
] > 0)
	{
	echo "Return Code: " . $_FILES["file"]["error"]
 . "<br />";
	}
  else
	{
	echo "Upload: " . $_FILES["file"]["name"] . "<br />";
	echo "Type: " . $_FILES["file"]["type"] . "<br />";
	echo "Size: " . ($_FILES["file"]["size"]
 / 1024) . " Kb<br />";
	echo "Temp file: " . $_FILES["file"]["tmp_name"]
 . "<br />";

	if (file_exists("upload/" . $_FILES["file"]["name"])
)
	  {
	  echo $_FILES["file"]["name"] . " already exists. ";
	  }
	else
	  {
	  move_uploaded_file($_FILES["file"][
"tmp_name"],
	  "upload/" . $_FILES["file"]["name"])
;
	  echo "Stored in: " . "upload/" . $_FILES["file"]["name"];

	  }
	}
  }
else
  {
  echo "Invalid file";
  }
?>

The script above checks if the file already exists, if it does not, it copies the file to the specified folder.

Note: This example saves the file to a new folder called "upload"


Благодаря.
0

#2
Потребителят е неактивен   debelin 

  • Група: Потребители
  • Мнения: 2930
  • Регистриран: 28-July 06
  • Репутация: 13
  • Град:В сърцето на всяка филия
какво съдържа upload_file.php?
http://filoproject.eu/ - top level protection for your Blackberry device!
0

#3
Потребителят е неактивен   nightshadee 

  • Група: Потребители
  • Мнения: 84
  • Регистриран: 02-July 08
  • Репутация: 0
<?php
if ($_FILES["file"]["error"
] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"]
 . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"]
 / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"]
;
  }
?>


Това.
0

#4
Потребителят е неактивен   thunderstorm 

  • Група: Потребители
  • Мнения: 2071
  • Регистриран: 08-February 04
  • Репутация: 41
  • Пол:Мъж
  • Град:Somewhere.....
Дай си и другия файл с формата.

Подозирам, че си сбъркал при:

code каза:

if ($_FILES["file"]["error"] ?> 0)




ПС: И скрипта ти не е особено готов. Това се изтрива след края на скрипта. Трябва да си преместиш файла, ако ще го пазиш...

Мнението беше редактирано от thunderstorm: 06.07.09 - 21:15

0

#5
Потребителят е неактивен   debelin 

  • Група: Потребители
  • Мнения: 2930
  • Регистриран: 28-July 06
  • Репутация: 13
  • Град:В сърцето на всяка филия
set $upload_images_directory;

if($_FILES['team_data']['
name']['image'] <> "")
{
	$upload_destination = $upload_images_directory.mktime().$_FILES[
'team_data']['name']['image'
];
	move_uploaded_file($_FILES['team_data']
['tmp_name']['image'], $upload_destination);
}
<tr>
					<td class="lgraynormal" valign="top">??????:</td>
					<td class="lgraynormal" align="left">&nbsp;&nbsp;&nbsp;<input type="file" name="team_data[image]"></td>
				</tr>


дебел
http://filoproject.eu/ - top level protection for your Blackberry device!
0

Споделете тази тема чрез:


Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

1 потребители четат тази тема
0 регистрирани потребители, 1 гости и 0 анонимни потребители


Data.BG e форум за дискусии. Data.BG не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Data.BG.

Close  Member Login