Здравствуйте, как отправить файл через рукописный PHP/ Отправляю так: ini_set('display_errors', 1);
require_once "lib/Dropbox/autoload.php"; use \Dropbox as dbx; $accessToken = "cBr9qwdqwdqwdqwdqwdZeUHc3YS0fYtrYA"; // Здесь ваш Access token $dbxClient = new dbx\Client($accessToken, "PHP-Example/1.0"); if($_FILES['ya']['name']){ $f = fopen($_FILES['ya']['name'], "rb"); $fbuch=$_FILES['ya']['name']; $fbuch2="/".$fbuch; $fileMetadata = $dbxClient->uploadFile("/ChangeLog.txt", dbx\WriteMode::add(), $f); fclose($f); print_r($fileMetadata);} ...
<form action="" method="POST" enctype="multipart/form-data"> <input type = "file" name = "ya" /> <input type="submit" value="Загрузить"> </form> Выдает ошибку: Fatal error: Uncaught exception 'InvalidArgumentException' with message ''inStream' has bad type; expecting resource, got boolean' in /var/www/v-2348/data/www/stylus.kz/lib/Dropbox/Checker.php:22 Stack trace: #0 /var/www/v-2348/data/www/stylus.kz/lib/Dropbox/Checker.php(27): Dropbox\Checker::throwError('inStream', false, 'resource') #1 /var/www/v-2348/data/www/stylus.kz/lib/Dropbox/Client.php(278): Dropbox\Checker::argResource('inStream', false) #2 /var/www/v-2348/data/www/stylus.kz/ya.php(16): Dropbox\Client->uploadFile('/Sites.txt', Object(Dropbox\WriteMode), false) #3 {main} thrown in /var/www/v-2348/data/www/stylus.kz/lib/Dropbox/Checker.php on line 22Всем привет! Накидал скрипт 18+ с куки, чтобы не мучить постоянно пользователя с подтверждением возраста. Но попал в ступр на условие, не знаю, как правильно его написать — обращаюсь к добрым людям за помощью подсказать всего 1 строчку. Может кому пригодится в дальнейшем… В сети нету нормального полноценного скрипта 18+ с куки — пусть этот будет шаблоном. <html>
<head> <!-- cookie --> <style> #Ageloading { width: 100%; height: 100%; position: fixed; left: 0; top: 0; background: #000; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70); opacity: 0.85; z-index: 1010; } .Agewindow { background: rgba(255, 255, 255, .39); padding: 13px; border-radius: 5px; position: fixed; left: 50%; margin-left: -240px; top: 20%; width: 454px; z-index: 1011; } .Agewindow .Agecolor_bg { padding: 13px; border-radius: 5px; } .Agewindow .Agemain { background: rgba(255, 255, 255, .75); border-radius: 5px; padding: 20px; } .Agewindow .Agetitle { font-family: Cambria; font-size: 40px; line-height: 44px; text-align: center; color: #010101; margin-bottom: 30px; } .Agewindow .Agechoice { text-align: center; } .Agewindow .Agesubmit { min-width: 30px; height: 40px; font-family: Cambria; font-size: 28px; line-height: 28px; color: #fff; cursor: pointer; cursor: hand; border-radius: 5px; padding: 0 10px 2px 10px; margin: 0 6px; outline: none; } .Agewindow { box-shadow: 0 2px 9px rgba(12, 92, 76, .70); } .Agewindow .Agecolor_bg { background: #c0e7f1; } .Agewindow .Agesubmit { border: 1px solid #0066a3; background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzE0YTZmOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDY2YTMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background: -moz-linear-gradient(top, rgba(20,166,249,1) 0%, rgba(0,102,163,1) 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(20,166,249,1)), color-stop(100%,rgba(0,102,163,1))); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, rgba(20,166,249,1) 0%,rgba(0,102,163,1) 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, rgba(20,166,249,1) 0%,rgba(0,102,163,1) 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, rgba(20,166,249,1) 0%,rgba(0,102,163,1) 100%); /* IE10+ */ background: linear-gradient(to bottom, rgba(20,166,249,1) 0%,rgba(0,102,163,1) 100%); /* W3C */ } .Agewindow .Agesubmit:hover { background: #0066a3; border-color: #0066a3; } </style> <!-- Сюда JS 18+--> </head> <body> <h1 style="text-align: center;">Вы попали в этот раздел!</h1> <div id="div"></div> </body> </html> <!-- JS 18+ --> var expDays = 7;// Cookie code from The JavaScript Source
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2)? argv[2] : null;
var path = (argc > 3)? argv[3] : null;
var domain = (argc > 4)? argv[4] : null;
var secure = (argc > 5)? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null)? "" : ("; expires=" + expires.toGMTString())) +
((path == null)? "" : ("; path=" + path)) +
((domain == null)? "" : ("; domain=" + domain)) +
((secure == true)? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function amt(){
var count = GetCookie('count')
if(count == null) {
SetCookie('count','1')
return 1
}
else {
var newcount = parseInt(count) + 1;
DeleteCookie('count')
SetCookie('count',newcount,exp)
return count
}
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function checkCount() {
var count = GetCookie('count');
if (count == null) {
count=1;
{
window.onload = function(){
document.getElementById('div').innerHTML =
'<div class="burbon_age_preload">\
<div id="Ageloading"></div>\
<div class="Agewindow">\
<div class="Agecolor_bg">\
<div class="Agemain">\
<div class="Agetitle">Входя на сайт, вы подтверждаете, что вам уже есть 18 лет, и вы имеете право знакомиться с размещенной на сайте информацией.</div>\
<div class="Agechoice">\
<input id="yes" type="button" class="Agesubmit" value="Да" onclick=""/>\
<input id="no" type="button" class="Agesubmit" value="Нет" onclick=""/>\
</div>\
</div>\
</div>\
</div>\
</div>';
};
//Закончить условие правильно, если нажали Да - то "Добро пожаловать на сайт!"
if ($('#yes').click)
{
alert('Добро пожаловать на сайт!');
count = 2;
}
else {
alert('Извините, но вам нельзя в этот раздел.'), top.location.href="http://yandex.ru", count=1;
}
SetCookie('count', count, exp);
};
}
else {
if (count=='1'){
alert('Извините, но вам нельзя в этот раздел.'), top.location.href="http://yandex.ru" }
}
}
checkCount(); Можно было конечно пойти простым путем: if (confirm("Уверены ?")) {
alert('Добро пожаловать!');
} else { alert('До свидания!'); } Но хочется сделать через модальное окно. P.S. Одним кодом не вставляется поэтому кусками ((
Не за что. Но как написал ниже Александр: пользуйтесь поиском. На многие вопросы есть ответы. Иначе вы просто в дальнейшем перестанете здесь получать хоть какие-то ответы.
спасиб) что-то по теме)
Еще раз. Каждый из упомянутых здесь пакетов решает свою задачу. Что-то это делает лучше, что-то хуже. Но не в этом дело. Дело в том, что все люди разные. И методы решения вроде бы одних и тех же задач каждый выбирает свои. А так задавать вопросы — что лучше, что хуже — неправильно. Правильно — задавать конкретные вопросы по конкретному делу. И не забывать пользоваться поиском, может вопрос уже решен. Иначе это просто потеря и своего времени, и чужого.
Может быть воспринято как скрытая реклама Вот это вообще не беспокоит. Можете написать здесь отдельный топик как вам нравится шопкипер или минишоп и почему. Это нам никак не мешает. Но тут четкие задачи — подружить MODx и 1С. Это во всех вышеупомянутых возможно? У нас для импорта есть Shopmodx1C. Но его надо докручивать на каждом проекте индивидуально. У других я не знаю есть модуль для 1С или нет.
Просто потому что он нам не интересен. У нас ShopModxBox есть.
Шопкипер не обсуждается, потому что вообще шлак?)
Согласен, неблагодарное это дело такие вопросы задавать) Может быть воспринято как скрытая реклама, тем более что во многих расширениях пакеты дополнений платные. Но тут четкие задачи — подружить MODx и 1С. Это во всех вышеупомянутых возможно?