Някой може ли да го преправи?

qnkov90
Нов
Нов
Posts: 62
Joined: Sun Mar 26, 2017 6:05 pm

Някой може ли да го преправи?

Post by qnkov90 » Sun Jan 13, 2019 10:35 pm

Здравейте. Имам един файл, с който качвам през едно панелче снимки. Дублирах го и искам сега този код да качва .рар файлове, но нещо не мога да го направя май. Някой може ли да го прегледа и да го преправи и върне? Мерси.

Code: Select all

<? 
session_start&#40;&#41;; 

if &#40;isset&#40;$_SESSION&#91;'potrebitel'&#93;&#41;&#41; 
&#123; 
$potrebitel=$_SESSION&#91;'potrebitel'&#93;; 
&#125; 
else 
&#123;
header&#40;'location&#58;sessionform.php'&#41;;
exit;
&#125;
?>
<? 
session_start&#40;&#41;; 

if &#40;isset&#40;$_SESSION&#91;'potrebitel'&#93;&#41;&#41; 
&#123; 
$potrebitel=$_SESSION&#91;'potrebitel'&#93;; 
&#125; 
else 
&#123;
header&#40;'location&#58;sessionform.php'&#41;;
exit;
&#125;
?>
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
	 
	<title> |Отаку България - Контролен панел| </title>
	<link rel="icon" type="image/x-icon" href="http&#58;//otaku.bg/panel/img/Oz245Kl.png">
	<link type="text/css" rel="stylesheet" href="style.css">
	<style>
	#box
&#123;
background&#58; #FFFFFF;
width&#58; 600px;
height&#58; 280px;
border&#58; 1px solid #DBDBDB;
	border-radius&#58; 5px;
	-moz-border-radius&#58; 5px;
	-webkit-border-radius&#58; 5px;

&#125;
	</style>
</head>
<body>

<center>

<img src="http&#58;//otaku.bg/panel/img/7lODnQ3.png"><p style="font-size&#58;24px;">Контролен панел</p>
<div id="box">
<br><img src="http&#58;//otaku.bg/panel/img/mVWcxoA.png"><br><a style="font-size&#58;18px;">Качи субтитри</a><br /><br />
<form action="" method="post"
enctype="multipart/form-data">
<label for="file">Субтитри&#58;</label>
<input type="file" name="file" id="file"><br />
<input type="submit" name="submit" value="Изпрати">
</form>
</div>
</center>
</body>
</html>
<?php
$allowedExts = array&#40;"rar"&#41;;
$temp = explode&#40;".", $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;;
$extension = end&#40;$temp&#41;;
$ime = $_FILES&#91;"file"&#93;&#91;"name"&#93;;

if &#40;&#40;&#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/jpeg"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "rar"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/pjpeg"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/x-png"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/png"&#41;&#41;
&& &#40;$_FILES&#91;"file"&#93;&#91;"size"&#93; < 1048576&#41;
&& in_array&#40;$extension, $allowedExts&#41;&#41; &#123;
  if &#40;$_FILES&#91;"file"&#93;&#91;"error"&#93; > 0&#41; &#123;
    echo "Return Code&#58; " . $_FILES&#91;"file"&#93;&#91;"error"&#93; . "<br>";
  &#125; else &#123;
    echo "";
    if &#40;file_exists&#40;"../subtitles2/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;&#41; &#123;
      echo $_FILES&#91;"file"&#93;&#91;"name"&#93; . " already exists. ";
    &#125; else &#123;
      move_uploaded_file&#40;$_FILES&#91;"file"&#93;&#91;"tmp_name"&#93;,
      "../subtitles2/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;;
      echo "Субтитрите са качени успешно. <br><a href='$ime'>$ime</a>"; 
    &#125;
  &#125;
&#125;

?>

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 865
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Sun Jan 13, 2019 11:24 pm

MIME типа за rar файлове е: application/x-rar-compressed или application/octet-stream. Трябва да тестваш, кое от двете приема FILES.

Като цяло кода е много зле, за това няма да си правя труда да обяснявам какво не му е наред.

Fakeheal
Гуру
Гуру
Posts: 2704
Joined: Sat Apr 17, 2010 6:37 am
Answers: 351
Location: /r/eyebleach
Contact:

Post by Fakeheal » Mon Jan 14, 2019 2:51 pm

Защо application/octet-stream?

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 865
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Mon Jan 14, 2019 6:11 pm

Fakeheal wrote:Защо application/octet-stream?

Принципно това би се върнало за всякакви бинарни файлове, ако не върне x-rar-compressed, което ще изиска и проверка на разширението.

Това, както и да е. Кода е достатъчно чупен.

qnkov90
Нов
Нов
Posts: 62
Joined: Sun Mar 26, 2017 6:05 pm

Post by qnkov90 » Mon Jan 14, 2019 8:14 pm

Целта е просто да приема рар, какво му е зле, няма значение. Затова слушам какво трябва да променя и къде, за да стане. Също така, ако може да го направи, когато се качи файл... да изписва и директорията, в която е качен.

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 865
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Tue Jan 15, 2019 7:52 am

qnkov90 wrote:Целта е просто да приема рар, какво му е зле, няма значение. Затова слушам какво трябва да променя и къде, за да стане. Също така, ако може да го направи, когато се качи файл... да изписва и директорията, в която е качен.
Ами там, където си написал rar го заменяш с application/x-rar-compressed.

qnkov90
Нов
Нов
Posts: 62
Joined: Sun Mar 26, 2017 6:05 pm

Post by qnkov90 » Tue Jan 15, 2019 3:55 pm

Написах нещата ето така, но не иска да качва. Къде бъркам? Ако може да погледнеш и другата ми тема в тоя раздел. Мерси.

Code: Select all

<?php
$allowedExts = array&#40;"application/x-rar-compressed"&#41;;
$temp = explode&#40;".", $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;;
$extension = end&#40;$temp&#41;;
$ime = $_FILES&#91;"file"&#93;&#91;"name"&#93;;

if &#40;&#40;&#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/jpeg"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "application/x-rar-compressed"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/pjpeg"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/x-png"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/png"&#41;&#41;
&& &#40;$_FILES&#91;"file"&#93;&#91;"size"&#93; < 1048576&#41;
&& in_array&#40;$extension, $allowedExts&#41;&#41; &#123;
  if &#40;$_FILES&#91;"file"&#93;&#91;"error"&#93; > 0&#41; &#123;
    echo "Return Code&#58; " . $_FILES&#91;"file"&#93;&#91;"error"&#93; . "<br>";
  &#125; else &#123;
    echo "";
    if &#40;file_exists&#40;"../subtitles2/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;&#41; &#123;
      echo $_FILES&#91;"file"&#93;&#91;"name"&#93; . " already exists. ";
    &#125; else &#123;
      move_uploaded_file&#40;$_FILES&#91;"file"&#93;&#91;"tmp_name"&#93;,
      "../subtitles2/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;;
      echo "Субтитрите са качени успешно. <br><a href='$ime'>$ime</a>"; 
    &#125;
  &#125;
&#125;

?>

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 865
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Tue Jan 15, 2019 7:18 pm

http://web-tourist.net/forum/viewtopic.php?t=129948

Можеш да прочетеш тази тема и темата, към която съм дал линк, за да разбереш къде грешиш като цяло.

qnkov90
Нов
Нов
Posts: 62
Joined: Sun Mar 26, 2017 6:05 pm

Post by qnkov90 » Tue Jan 15, 2019 9:30 pm

Защо пишеш въобще, като нямаш намерения да помагаш, а само да спамиш?
Ако всички бяхме като теб, доникъде нямаше да стигне тоя свят. Добре, че не съм такъв, когато човек ме пита за нещо.
Няма да ти се моля, ще посетя чужд сайт и пак ще се оправя накрая.

Fakeheal
Гуру
Гуру
Posts: 2704
Joined: Sat Apr 17, 2010 6:37 am
Answers: 351
Location: /r/eyebleach
Contact:

Post by Fakeheal » Tue Jan 15, 2019 9:48 pm

qnkov90 wrote:Защо пишеш въобще, като нямаш намерения да помагаш, а само да спамиш?
Ако всички бяхме като теб, доникъде нямаше да стигне тоя свят. Добре, че не съм такъв, когато човек ме пита за нещо.
Няма да ти се моля, ще посетя чужд сайт и пак ще се оправя накрая.
Това, което искаше според мен да каже @Revelation, че вместо да пишеш тема: "някой да ми преправи кода", можеше да напишеш тема, която задава въпрос защо/как и не иска готов код, а знания. Защото ако всички хора бяха като теб, света щеше да е пълен с преправяни морално остарели кодове и никой нямаше да дава смислени отговори със стойностни знания :).

Имайки предвид кода, който си пуснал предполагам не си много наясно с програмирането, защото използвания if е доста объркан. Не мисля, че някой "в тоя свят" ще седне да ти държи ръката по пътя за завършване на твоя сайт, където и да е било.

Locked