Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: загрузки файла на сервер

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: загрузки файла на сервер
nazz
Отправлено: 18 Января, 2015 - 18:11:42
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Янв. 2015  


Помог: 0 раз(а)




Помогите: index.php:
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <style>
  4. body {
  5. background: url('/bg.png');
  6. color: #fff;
  7. }
  8. h1 h2 h3 h4 {
  9. color: #FFFFFF;
  10. text-shadow: 5px 5px black;
  11. }
  12. .ribbon {
  13. display:inline-block;
  14. }
  15. .ribbon:after, .ribbon:before {
  16. margin-top:0.5em;
  17. content: "";
  18. float:left;
  19. border:1.5em solid #fff;
  20. }
  21. .ribbon:after {
  22. border-right-color:transparent;
  23. }
  24. .ribbon:before {
  25. border-left-color:transparent;
  26. }
  27. .ribbon a:link, .ribbon a:visited {
  28. color:#000;
  29. text-decoration:none;
  30. float:left;
  31. height:3.5em;
  32. overflow:hidden;
  33. }
  34. .ribbon span {
  35. background:#fff;
  36. display:inline-block;
  37. line-height:3em;
  38. padding:0 1em;
  39. margin-top:0.5em;
  40. position:relative;
  41. -webkit-transition: background-color 0.2s, margin-top 0.2s; /* Saf3.2+, Chrome */
  42. -moz-transition: background-color 0.2s, margin-top 0.2s; /* FF4+ */
  43. -ms-transition: background-color 0.2s, margin-top 0.2s; /* IE10 */
  44. -o-transition: background-color 0.2s, margin-top 0.2s; /* Opera 10.5+ */
  45. transition: background-color 0.2s, margin-top 0.2s;
  46. }
  47. .ribbon a:hover span {
  48. background:#FFD204;
  49. margin-top:0;
  50. }
  51. .ribbon span:before {
  52. content: "";
  53. position:absolute;
  54. top:3em;
  55. left:0;
  56. border-right:0.5em solid #9B8651;
  57. border-bottom:0.5em solid #fff;
  58. }
  59. .ribbon span:after {
  60. content: "";
  61. position:absolute;
  62. top:3em;
  63. right:0;
  64. border-left:0.5em solid #9B8651;
  65. border-bottom:0.5em solid #fff;
  66. }
  67. }
  68. .html:before{
  69. content: "Код JavaScript ";
  70. position: absolute;
  71. margin-top: -30px;
  72. margin-left: -11px;
  73. background: #fff;
  74. padding: 1px;
  75. border:1px solid #d6d6d6;
  76. }
  77. .html{
  78. background: #000000;
  79. padding: 10px;
  80. margin: 30px;
  81. border:1px solid #d6d6d6;
  82. display:block;
  83. width: 800px;
  84. border-radius: 0px 5px 5px 5px;
  85. }
  86. }
  87. </style>
  88. <script type="text/javascript" language="JavaScript">// <![CDATA[
  89.  var res="11141";
  90. function check_me()
  91. {
  92. var count=0;
  93. with(document.test) {
  94. if (!Q1[0].checked&&!Q1[1].checked&&!Q1[2].checked&&!Q1[3].checked&&!Q1[4].checked&&!Q1[5].checked)
  95. {count+=1};
  96. if (!Q2[0].checked&&!Q2[1].checked&&!Q2[2].checked&&!Q2[3].checked&&!Q2[4].checked&&!Q2[5].checked)
  97. {count+=1};
  98. if (!Q3[0].checked&&!Q3[1].checked&&!Q3[2].checked&&!Q3[3].checked&&!Q3[4].checked&&!Q3[5].checked)
  99. {count+=1};
  100. if (!Q4[0].checked&&!Q4[1].checked&&!Q4[2].checked&&!Q4[3].checked&&!Q4[4].checked&&!Q4[5].checked)
  101. {count+=1};
  102. if (!Q5[0].checked&&!Q5[1].checked&&!Q5[2].checked&&!Q5[3].checked&&!Q5[4].checked&&!Q5[5].checked)
  103. {count+=1};
  104. if (count>0) alert("Вы выполнили не все задания. Проверьте себя!")
  105. else answer();
  106. }
  107. }
  108. function control(k, f1,f2,f3,f4,f5) {
  109. if (k==1&&f1.checked) return true;
  110. if (k==2&&f2.checked) return true;
  111. if (k==3&&f3.checked) return true;
  112. if (k==4&&f4.checked) return true;
  113. if (k==5&&f5.checked) return true;
  114. return false;
  115. }
  116. function answer() {
  117. answ="";
  118.  with(document){
  119. answ+=control(res.charAt(0) ,test.Q1[0],test.Q1[1],test.Q1[2],test.Q1[3],test.Q1[4],test.Q1[5])?"1":"0";
  120. answ+=control(res.charAt(1) ,test.Q2[0],test.Q2[1],test.Q2[2],test.Q2[3],test.Q2[4],test.Q2[5])?"1":"0";
  121. answ+=control(res.charAt(2) ,test.Q3[0],test.Q3[1],test.Q3[2],test.Q3[3],test.Q3[4],test.Q3[5])?"1":"0";
  122. answ+=control(res.charAt(3) ,test.Q4[0],test.Q4[1],test.Q4[2],test.Q4[3],test.Q4[4],test.Q4[5])?"1":"0";
  123. answ+=control(res.charAt(4) ,test.Q5[0],test.Q5[1],test.Q5[2],test.Q5[3],test.Q5[4],test.Q5[5])?"1":"0";
  124. showResult();
  125. }
  126. }
  127. function showResult() {
  128. var nok=0;
  129. var i,s;
  130. for (i=0; i<answ.length;i++) {nok+=answ.charAt(i)=="1"?1:0;}
  131. if(nok==5) s="ОТЛИЧНО Вход http://hosthtml.wc.lt/html.php :)";
  132. if(nok<5) s="ХОРОШО";
  133. if(nok<3.75) s="УДОВЛЕТВОРИТЕЛЬНО";
  134. if (nok<2.5) s="НЕУДОВЛЕТВОРИТЕЛЬНО";
  135. document.test.s1.
  136. value="Количество правильных ответов "+nok+". Ваша оценка "+s+". Посмотрите на окно рядом с номером вопроса. Если ответ правильный, там (+). Если ответ ошибочен, там (-).";
  137. with(document.test)
  138. {
  139. if (answ.charAt(0)=="1") {T1.value=" + "} else {T1.value=" - "};
  140.  if (answ.charAt(1)=="1") {T2.value=" + "} else {T2.value=" - "};
  141.  if (answ.charAt(2)=="1") {T3.value=" + "} else {T3.value=" - "};
  142.  if (answ.charAt(3)=="1") {T4.value=" + "} else {T4.value=" - "};
  143.  if (answ.charAt(4)=="1") {T5.value=" + "} else {T5.value=" - "};
  144.  }
  145. }
  146. function showhide(obj){
  147. if(obj == 'none') return 'inline';
  148. else return 'none';
  149. }
  150. // ]]>
  151. </script>
  152. <script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script>
  153. <script type="text/javascript">
  154. tinyMCE.init({
  155. language : "ru",
  156. // General options
  157. mode : "textareas",
  158. theme : "advanced",
  159. plugins : "spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
  160. // Theme options
  161. theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
  162. theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview",
  163. theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen,|,forecolor,backcolor,|,insertfile,insertimage",
  164. theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,",
  165. theme_advanced_toolbar_location : "top",
  166. theme_advanced_toolbar_align : "left",
  167. theme_advanced_statusbar_location : "bottom",
  168. theme_advanced_resizing : true,
  169. // Skin options
  170. skin : "o2k7",
  171. skin_variant : "silver"});
  172. </script>
  173. </head>
  174. <body>
  175. <script type="text/javascript">
  176. var reformalOptions = {
  177. project_id: 832509,
  178. project_host: "HostHtml.reformal.ru",
  179. tab_orientation: "right",
  180. tab_indent: "50%",
  181. tab_bg_color: "#999999",
  182. tab_border_color: "#FFFFFF",
  183. tab_image_url: "http://tab.reformal.ru/T9GC0LfRi9Cy0Ysg0Lgg0L%252FRgNC10LTQu9C%252B0LbQtdC90LjRjw==/FFFFFF/88128dfd6ca0743b5ccc2f8afed9f3b1/right/0/tab.png",
  184. tab_border_width: 0
  185. };
  186. (function() {
  187. var script = document.createElement('script');
  188. script.type = 'text/javascript'; script.async = true;
  189. script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'media.reformal.ru/widgets/v3/reformal.js';
  190. document.getElementsByTagName('head')[0].appendChild(script);
  191. })();
  192. </script><noscript><a href="/"><img src="http://media.reformal.ru/reformal.png" /></a><a href="http://HostHtml.reformal.ru">Oтзывы и предложения для HostHtml</a></noscript>
  193. <div class='ribbon'>
  194. <a href='/'><span>HostHtml - Хостинг html Страниц</span></a>
  195. </div>
  196. <br><br><br><br><br><br>
  197. &nbsp;&nbsp;&nbsp;<span style="color:#006699;text-decoration: none;cursor:pointer;" onclick="document.getElementById('instruction').style.display = showhide(document.getElementById('instruction').style.display)">
  198. <img src="/help.png" /></span>
  199. <br/>
  200. <div id="instruction" style="display: none; width: 100%;">
  201. <ul>
  202. <li>Выберете файл для загрузки. (Фалы в формате только: html, htm) (Если нету <a href="html.html" download>html<a> Не забудьте переименовать файл!)(Для генерации страницы есть "<a href="http://hosthtml.wc.lt/1/html/">генератор html</a>").</li>
  203. <li>Залейте файл, скопируйте секретное имя файла и ссылку на страницу.</li>
  204. <li>Введите на <a href="http://hosthtml.wc.lt/" style="text-decoration: none;">стартовой странице сайта</a> в поле "Секретное Имя файла". Жмите 'Редактировать'.</li>
  205. <li>В поле "Секретное Имя файла" вставите Секретное Имя файла (за ранее скопированное, оно выдаётся после загрузки файла)</li>
  206. <li>Жмите 'Редактировать'.</li>
  207. <li>Отредактируйте в спец-редакторе и жмите после редактора 'Редактировать'.</li>
  208. <li>В браузерную <a href="/url.png" style="text-decoration: none;">URL строку</a> введите ссылку на страницу (за ранее скопированноя, она выдаётся после загрузки файла)</li>
  209. <li> Вставите этот код для защиты страницы. (</span><span class="sc50">(</span><span class="sc46">pass</span><span class="sc50">==</span><span class="sc49">'111'</span><span class="sc50">)</span> измените на свой пароль пример: (</span><span class="sc50">(</span><span class="sc46">pass</span><span class="sc50">==</span><span class="sc49">'1234567890'</span><span class="sc50">)</span>)
  210. <script language="JavaScript">
  211. if (top.location.search=="") {
  212. pass = prompt('Введите пароль');
  213. if (pass=='111') //Ваш пароль входа
  214. { alert('Пароль принят') } else { alert('Пароль непринят!'), top.location.href="http://hosthtml.wc.lt/" } };
  215. </script>
  216. </li>
  217. </ul>
  218. </div>
  219. <?
  220. if (isset($_GET['load'])){
  221. $valid_types=array("html", "htm");///// Допустимые расширения
  222. $name=$_FILES["file"]["name"];
  223. $tmp_name=$_FILES["file"]["tmp_name"];
  224. $size=$_FILES["file"]["size"];
  225. $name = strtolower($name);////Перевод в нижний регистр
  226. $maxsize=2; //// Допустимый размер в мегабайтах
  227. if($size > $maxsize*1024*1024)
  228.  {
  229.  echo "Размер файла превышает Допустимый размер";
  230.  exit;
  231.  }
  232. //// Транслитеровка /////
  233. $rus = array(а, б, в, г, д, е, ё, ж, з, и, й, к, л, м, н, о, п, р, с, т, у, ф, х, ц, ч, ш, щ, ъ, ь, ы, э, ю, я, " ", a, b, c, d, e, f, g, i, j, k, n, o, p, q, r, s, u, v, w, x, y, z, А, Б, В, Г, Д, Е, Ё, Ж, З, И, Й, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ц, Ч, Ш, Щ, Ъ, Ь, Ы, Э, Ю, Я, "1", "2", "3", "4", "5", "6", "7", "8", "9", "0",);
  234. $eng = array(F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, F25, F26, F27, FF, FF, FF, FF, F28, F29, "_", A1, A2, A3, A4, A5, A5, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12, Z13, Z14, Z15, Z16, Z17, Z18, Z19, Z20, Z22, Z23, Z24, Z25, Z26, Z27, Z28, Z29, Z30, Z31, Z32, Z33, Z34, N1, N2, N3, N4, N5, N6, N7, N8, N9, N10);
  235. for ($i = 0; $i < count($rus); $i++) {
  236. $name=str_replace("$rus[$i]","$eng[$i]", $name);
  237. }
  238. ///// конец транслитеровки
  239. $ext = strtolower(substr($name, 1 + strrpos($name, ".")));
  240. if (!in_array($ext, $valid_types)) {echo 'Ошибка загрузки файла, возможно он имеет недопустимое разширение или превышает допустимый размер'; exit;}
  241. /// загруза файла в директорию load /////
  242.  if(copy($tmp_name,"html/$name"))
  243.  {
  244. echo 'Файл '.$name.' успешно загружен!Секретное имя файла: <div type=text>html/'.$name.'</div> Ваша страница <a style="color: #FFFF00;" href=http://html.hosthtml.wc.lt/'.$name.'>http://html.hosthtml.wc.lt/'.$name.'</a>.<br />При регистрации файла, дается отдельная папка для файла и гарантии от удаления на 2 месяца,
  245. <a type="submit" onclick="window.open("/reg/")" title="Зарегистрировать" class="button" href="/reg/" value="Зарегистрировать!" name="submit">Зарегистрировать!</a>
  246. ';
  247.  } else {
  248. echo("Ошибка загрузки файла");exit;
  249.  }
  250.  }
  251. echo'<center><p><h1>Размер файла не должен превышать 2Мб Форматы: html, htm,</p></h1><br>
  252. <form method="POST" enctype="multipart/form-data" action="index.php?load">
  253. <input type="file" name="file">
  254. <input type="submit" title="Закачать." class="button"value="Закачать" name="submit">
  255. </form>'
  256. ?>
  257. <?PHP
  258. if(isset($_POST['email']))
  259. ?>
  260. </body>
  261. <?PHP
  262. if(isset($_POST['content']))
  263. {
  264. $fd = @fopen($_POST['filename'],"w");
  265. if(!$fd) exit("Такой файл отсутствует");
  266. fwrite($fd,stripslashes($_POST['content']));
  267. fclose($fd);
  268. $_GET['filename'] = $_POST['filename'];
  269. }
  270. ?>
  271. <h1>Редактор файлов</h1>
  272. <form method="get">
  273. <input type="text" name="filename" value=<?PHP echo $_GET['filename']; ?>><br>
  274. <input type="submit" value="Редактировать">
  275. </form>
  276. <?PHP
  277. // Если в строке зароса передано имя
  278. // файла - открываем его для редактирования
  279. if(isset($_GET['filename']))
  280. {
  281. $fd = @fopen($_GET['filename'],"r");
  282. if(!$fd) exit("Такой файл отсутствует");
  283. $bufer = fread($fd,filesize($_GET['filename']));
  284. fclose($fd);
  285. ?>
  286. <form method="post">
  287. <textarea cols=76 rows=10 name="content"><?PHP echo $bufer; ?></textarea><br>
  288. <input type="hidden" name="filename" value='<?PHP echo $_GET['filename']; ?>'>
  289. <input type="submit" name="edit" value="Редактировать">
  290. </form>
  291. <?PHP
  292. }
  293. ?>
  294. </html>

/reg/index.php:
PHP:
скопировать код в буфер обмена
  1. <?
  2. include('connectdb.php');// подключение к серверу MySql и выбор БД
  3. if (($_POST['url']!='') ||
  4. ($_POST['url1']!='') ||
  5. ($_POST['url']!='') ||
  6. ($_POST['email']!='')) { // если все данные для регистрации введены, то продолжаем
  7. $pa1 = $_POST['url'];
  8. $pa2 = $_POST['url1'];
  9. if (strcmp($pa1, $pa2) == 0) {// если пароли совпадают, то продолжаем
  10. $url = $_POST['url'];
  11. $email = $_POST['email'];
  12. //проверяем наличие в БД пользователя с логином $login
  13. $sql='SELECT * FROM `reg_url` WHERE `email` ='.$email;// скрипт для поиска по логину в таблице users
  14. if (!($res=mysql_query($sql)) || (mysql_num_rows($res) == 0)) { // если количество найденых записей ноль, то продолжаем
  15. // sql-скрипт для добавления даных в таблицу
  16. $sql = 'INSERT INTO reg_url(url, email)
  17. VALUES("'.$url.'","'.$email.'")';
  18. if(mysql_query($sql)) {// выполняем скрипт
  19. echo 'Ссылка '.$_POST['url'].' успешно зарегистрирована!';
  20. } else {
  21. echo 'При регистрации произошла ошибка, <a href="index.php">повторите попытку</a>.';
  22. }
  23. } else echo 'уже зарегистрирован!';
  24. } else echo 'Введенное Секретное имя файла не совпадают, <a href="index.php">повторите попытку</a>.';
  25. } else {
  26. ?>
  27. <form method='post' action='index.php'>
  28. Введите e-mail: <input type=text size=30 name='email' />Секретное имя файла: <input type='text' name='url1' size='30' />Повторите Секретное имя файла: <input type='text' name='url' size='30' /><input type='submit' value='Регистрация' />
  29. <?
  30. }
  31. ?>
  32. </form>

/reg/install.php
PHP:
скопировать код в буфер обмена
  1. <?
  2. include('connectdb.php');// подключение к серверу MySql и выбор БД
  3. // sql-скрипт для создания таблицы
  4. $sql='CREATE TABLE IF NOT EXISTS `reg_url` (
  5. `email` text COLLATE utf8_unicode_ci,
  6. `url` text COLLATE utf8_unicode_ci
  7. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  8. );';
  9. //выполняем sql-запрос
  10. if(!mysql_query($sql)){
  11. echo 'Ошибка при создании таблицы в БД!';
  12. } else {
  13. echo 'Всё прошло отлично, таблица создана!';
  14. }
  15. ?>
/reg/connectbd.php
PHP:
скопировать код в буфер обмена
  1. <?
  2. //данные о хосте, пользователе и базе данных
  3. $host = 'localhost';
  4. $user = 'u';
  5. $pass = '***';
  6. $dbname = 'u';
  7. // подключаемся и выбираем бд, которую указали выше
  8. if(!mysql_connect($host,$user,$pass))
  9. die('Не удалось подключиться к серверу MySql!');
  10. elseif(!mysql_select_db($dbname))
  11. die('Не удалось выбрать БД!');
  12. ?>

Нужно:
  • Cистема проверки url адреса(есть ли он в бд)
  • Cистема редактирования если url зарегистрирован к определённому адресу почты

    (Отредактировано автором: 18 Января, 2015 - 18:13:44)

  •  
     Top
    Страниц (1): [1]
    Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
    « Работа с файловой системой и файлами »


    Все гости форума могут просматривать этот раздел.
    Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
    Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
     



    Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

     
    Powered by ExBB FM 1.0 RC1. InvisionExBB