- Някой може ли да го преправи?
12
WT форуми -> HTML / Javascript / CSS -> Някой може ли да го преправи?
Създайте нова тема Тази тема е заключена - не можеш да отговаряте или да променяте мнения 
Автор Съобщение
qnkov90
Нов
Нов

Регистриран на: 26/03/2017 8:05 pm

Support: 0
Bonus: 0
Мнения: 35
Мнение 14/01/2019 12:35 am     Някой може ли да го преправи? Отговорете с цитат


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

<?
session_start();

if (isset($_SESSION['potrebitel']))
{
$potrebitel=$_SESSION['potrebitel'];
}
else
{
header('location:sessionform.php');
exit;
}
?>
<?
session_start();

if (isset($_SESSION['potrebitel']))
{
$potrebitel=$_SESSION['potrebitel'];
}
else
{
header('location:sessionform.php');
exit;
}
?>
<html xmlns="http://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://otaku.bg/panel/img/Oz245Kl.png">
   <link type="text/css" rel="stylesheet" href="style.css">
   <style>
   #box
{
background: #FFFFFF;
width: 600px;
height: 280px;
border: 1px solid #DBDBDB;
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;

}
   </style>
</head>
<body>

<center>

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

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

?>
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Revelation
Потребител
Потребител

Регистриран на: 24/03/2013 3:23 pm

Support: 56
Bonus: 112
Мнения: 736
Мнение 14/01/2019 1:24 am      Отговорете с цитат


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

Като цяло кода е много зле, за това няма да си правя труда да обяснявам какво не му е наред.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Fakeheal
Support
Support

Регистриран на: 17/04/2010 8:37 am

Support: 350
Bonus: 698
Мнения: 2664
Мнение 14/01/2019 4:51 pm      Отговорете с цитат


Защо application/octet-stream?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Revelation
Потребител
Потребител

Регистриран на: 24/03/2013 3:23 pm

Support: 56
Bonus: 112
Мнения: 736
Мнение 14/01/2019 8:11 pm      Отговорете с цитат


Fakeheal написа:
Защо application/octet-stream?



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

Това, както и да е. Кода е достатъчно чупен.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
qnkov90
Нов
Нов

Регистриран на: 26/03/2017 8:05 pm

Support: 0
Bonus: 0
Мнения: 35
Мнение 14/01/2019 10:14 pm      Отговорете с цитат


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

Регистриран на: 24/03/2013 3:23 pm

Support: 56
Bonus: 112
Мнения: 736
Мнение 15/01/2019 9:52 am      Отговорете с цитат


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


Ами там, където си написал rar го заменяш с application/x-rar-compressed.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
qnkov90
Нов
Нов

Регистриран на: 26/03/2017 8:05 pm

Support: 0
Bonus: 0
Мнения: 35
Мнение 15/01/2019 5:55 pm      Отговорете с цитат


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

<?php
$allowedExts = array("application/x-rar-compressed");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
$ime = $_FILES["file"]["name"];

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

?>
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Revelation
Потребител
Потребител

Регистриран на: 24/03/2013 3:23 pm

Support: 56
Bonus: 112
Мнения: 736
Мнение 15/01/2019 9:18 pm      Отговорете с цитат


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

Можеш да прочетеш тази тема и темата, към която съм дал линк, за да разбереш къде грешиш като цяло.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
qnkov90
Нов
Нов

Регистриран на: 26/03/2017 8:05 pm

Support: 0
Bonus: 0
Мнения: 35
Мнение 15/01/2019 11:30 pm      Отговорете с цитат


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

Регистриран на: 17/04/2010 8:37 am

Support: 350
Bonus: 698
Мнения: 2664
Мнение 15/01/2019 11:48 pm      Отговорете с цитат


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


Това, което искаше според мен да каже @Revelation, че вместо да пишеш тема: "някой да ми преправи кода", можеше да напишеш тема, която задава въпрос защо/как и не иска готов код, а знания. Защото ако всички хора бяха като теб, света щеше да е пълен с преправяни морално остарели кодове и никой нямаше да дава смислени отговори със стойностни знания Smile.

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

Регистриран на: 24/03/2013 3:23 pm

Support: 56
Bonus: 112
Мнения: 736
Мнение 16/01/2019 1:07 am      Отговорете с цитат


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


А ти прочете ли темите, за да разбереш защо няма да получиш отговор?

Когато ти си направиш труда да прочетеш темите, да ги осъзнаеш и да се замислиш какво не е наред, тогава може да си помисля да ти помогна.

Разбиращи или неразбиращи, почти никой вече няма да седне, да ти тества кода и да ти го направи ти както искаш.

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

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

П.П. И да не кажеш, че не съм ти помогнал пак:

това, което си добавил в $allowedExts е грешно. if-а ти никога няма да мине, защото не очаква MIME type, а разширението на файла.

П.П.2. Сега да ти кажа защо и кода ти е чупен. Освен, че е дупка до дупка, си го копирал и ти не знаеш от къде и е предназначен за качване на изображения по принцип. Да не говорим, че качването на rar е опасно.
Иначе докато не добавиш rar разширението в масива по-горе, няма да тръгне. Също имай предвид, че ако добавиш само rar в масива $allowedExts, всички проверки за изображенията се обезсмислят.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
qnkov90
Нов
Нов

Регистриран на: 26/03/2017 8:05 pm

Support: 0
Bonus: 0
Мнения: 35
Мнение 16/01/2019 6:46 pm      Отговорете с цитат


Кода е стар, защото е правен преди повече от 10 години, копиран от тук и преправен от мен. Реално не се занимавам отдавна и нещата са ми греда вече. Просто по някога ми трябват дребни работи да оправям като това. Рядко се случва, но се случва.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Тази тема е заключена - не можеш да отговаряте или да променяте мнения    web-tourist.net Форуми -> HTML / Javascript / CSS Часовете са според зоната GMT + 2 Часа
12
Страница 1 от 2


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети