我的下载脚本有一个非常奇怪的问题
它基本上
1.使用"GET"方法设置文件ID
2.从数据库中获取该文件的名称和位置
3.使用headers和readfile将它发送到客户端
但奇怪的是,该文件总是出现损坏或损坏
就像它是一个zip或rar文件文件大小是正确的,它打开确定
但我不能打开它内部的压缩文件,那是我得到文件损坏的错误
这是奇怪的因为如果代码有问题我甚至不能打开zip文件(或至少我认为我不应该)
另一件事是我在发送标题之前用它的路径打印出文件,以确保一切正常
我把文件地址放在网址上并下载文件,文件没问题
所以在发送标题之前一切都很好
这是我的代码
$file_id = isset($_GET['id']) && (int)$_GET['id'] != 0 ? (int)$_GET['id'] : exit;
//////// finging file info
$file = comon::get_all_by_condition('files' , 'id' , $file_id );
if(!$file) exit;
foreach($file as $file){
$location = $file['location'];
$filename = $file['file_name'];
}
/////////////
$site = comon::get_site_domian();
$ext = trim(end(explode('.' , $filename )));
$abslout_path = 'http://'.$site.'/'.$location.'/'.$filename;
$relative = $location.'/'.$filename;
////////////////// content type
switch($ext) {
case 'txt':
$cType = 'text/plain';
break;
case 'pdf':
$cType = 'application/pdf'; …Run Code Online (Sandbox Code Playgroud) 您好,根据ci文档,您可以使用image_lib调整图像大小,并且有一些选项可以建议我们可以从该图像创建其他缩略图
create_thumb FALSE TRUE/FALSE (boolean) Tells the image processing function to create a thumb. R
thumb_marker _thumb None Specifies the thumbnail indicator. It will be inserted just before the file extension, so mypic.jpg would become mypic_thumb.jpg R
Run Code Online (Sandbox Code Playgroud)
所以这是我的代码
$config_manip = array(
'image_library' => 'gd2',
'source_image' => "./uploads/avatar/tmp/{$this->input->post('new_val')}",
'new_image' => "./uploads/avatar/{$this->input->post('new_val')}",
'maintain_ratio'=> TRUE ,
'create_thumb' => TRUE ,
'thumb_marker' => '_thumb' ,
'width' => 150,
'height' => 150
);
$this->load->library('image_lib', $config_manip);
$this->image_lib->resize();
Run Code Online (Sandbox Code Playgroud)
我会假设此代码调整我的图像大小,并创建一个缩略图,但我只获得一个具有指定尺寸的图像和_tump后缀
我也尝试添加此代码手动创建第二个图像,但它仍然无法工作,我只得到一个图像
$this->image_lib->clear();
$config_manip['new_image'] =
"./uploads/avatar/thumbnail_{$this->input->post('new_val')}";
$config_manip['width'] = 30 …Run Code Online (Sandbox Code Playgroud) 这是一个非常简单的应用程序,它非常适合我添加
<script src="cordova-2.5.0.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
到我的index.html它在启动之前崩溃(在模拟器和实际设备中)这里是错误
03-19 21:24:28.633: E/AndroidRuntime(1467): FATAL EXCEPTION: main
03-19 21:24:28.633: E/AndroidRuntime(1467): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x10000010 (has extras) } in org.apache.cordova.NetworkManager$1@b49b2b50
03-19 21:24:28.633: E/AndroidRuntime(1467): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:737)
03-19 21:24:28.633: E/AndroidRuntime(1467): at android.os.Handler.handleCallback(Handler.java:605)
03-19 21:24:28.633: E/AndroidRuntime(1467): at android.os.Handler.dispatchMessage(Handler.java:92)
03-19 21:24:28.633: E/AndroidRuntime(1467): at android.os.Looper.loop(Looper.java:137)
03-19 21:24:28.633: E/AndroidRuntime(1467): at android.app.ActivityThread.main(ActivityThread.java:4424)
03-19 21:24:28.633: E/AndroidRuntime(1467): at java.lang.reflect.Method.invokeNative(Native Method)
03-19 21:24:28.633: E/AndroidRuntime(1467): at java.lang.reflect.Method.invoke(Method.java:511)
03-19 21:24:28.633: E/AndroidRuntime(1467): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-19 21:24:28.633: E/AndroidRuntime(1467): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-19 21:24:28.633: E/AndroidRuntime(1467): at dalvik.system.NativeStart.main(Native Method)
03-19 …Run Code Online (Sandbox Code Playgroud) 不用说我是菜鸟!这是我的 js 代码,它通过 ajax 将 js 对象发送到视图
function test(){
arr = {} ;
$('#settings_tab').find('.someclass').each(function(index, element) {
key = $(this).attr('id') ;
value = $(this).val();
arr[key] = value;
});
$.post("{% url 'setting-update' %}",
{arr:arr, csrfmiddlewaretoken: '{{ csrf_token }}'},
function(){
alert('done!');
}
);
}
Run Code Online (Sandbox Code Playgroud)
在 firebug 中发布的数据看起来像这样
arr[adminName]
arr[contactAddress]
arr[contactEmail]
arr[contactPhone]
arr[perPage]
arr[siteDisableMsg]
arr[siteTitle]
arr[uploadSize]
csrfmiddlewaretoken BFrb8snw8zime8UI8Vukl8FirsHvDDUk
Run Code Online (Sandbox Code Playgroud)
这是我的 django view.py
def update(request):
if request.POST :
print('-------------------------------------------------')
print(request.POST)
arr = request.POST.getlist('arr', None)
print(arr)
if(arr is not None):
for k,v in arr:
print(k)
return HttpResponse('done …Run Code Online (Sandbox Code Playgroud) 我想从网页中提取几张桌子并将它们显示在我的页面中
我本打算使用正则表达式来提取它们,但是随后我看到了DOMDocument类,并且看起来更干净一些,我似乎在stackoverflow中进行了查找,似乎所有问题都与获取内部文本或使用循环获取元素的内部节点有关。我现在想知道如何通过id提取并打印html元素。
$html = file_get_contents("www.site.com");
$xml = new DOMDocument();
$xml->loadHTML($html);
$xpath = new DOMXPath($xml);
$table =$xpath->query("//*[@id='myid']");
$table->saveHTML(); // this obviously doesn't work
Run Code Online (Sandbox Code Playgroud)
我如何在我的页面上显示或回显$ table作为实际的html表?
我正在尝试重写一个旧网站.
它是在波斯语中使用perso/arabic字符.
CREATE DATABASE `db` DEFAULT CHARACTER SET utf8 COLLATE utf8_persian_ci;
USE `db`;
Run Code Online (Sandbox Code Playgroud)
几乎所有我的表/列COLLATE都设置为 utf8_persian_ci
我正在使用codeigniter来获取我的新脚本
'char_set' => 'utf8',
'dbcollat' => 'utf8_persian_ci',
Run Code Online (Sandbox Code Playgroud)
在数据库设置中,那里没有问题.
所以这是奇怪的部分
旧脚本使用某种称为数据库引擎TUBADBENGINE或TUBA DB ENGINE......没什么特别的.
当我使用旧脚本在数据库中输入一些数据(在波斯语中)时,当我查看数据库时,字符存储就像عمران .
旧脚本fetch /显示数据正常,但新脚本使用与数据库相同的奇怪字体/字符集显示它们
因此,当我进入时????,数据库存储的数据看起来像عمراÙ,当我在新脚本中获取它时,我看到,عمراÙ但在我看到 的旧脚本中????
CREATE TABLE IF NOT EXISTS `tnewsgroups` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`fName` varchar(200) COLLATE utf8_persian_ci DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=11 ;
--
-- Dumping data for table `tnewsgroups` …Run Code Online (Sandbox Code Playgroud) 这是我的代码
echo 22;
$url = 'http://www.10bet.com/pagemethods.aspx/GetLeaguesContent';
$fields = array(
'BranchID' => urlencode('1') ,
'LeaguesCollection' => urlencode('10098') ,
);
$fields_string = '';
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type : application/json; charset=utf-8'));
$result = curl_exec($ch);
curl_close($ch);
var_dump( $result );
Run Code Online (Sandbox Code Playgroud)
我不断
Bad Request - Invalid Header
HTTP Error 400. The request has an invalid header name.
Run Code Online (Sandbox Code Playgroud) 所以在我的urls.py(外部django默认管理部分)我想限制一些网址只有管理员,所以如果我有这个记录用户
from django.contrib.auth.decorators import login_required
urlpatterns = [
url(r'^a1$',login_required( views.admin_area1 ), name='a1'),
url(r'^a2$', login_required(views.admin_area2) , name='a2'),
url(r'^a3', login_required(views.admin_area3) , name='a3'),
]
Run Code Online (Sandbox Code Playgroud)
是否有enyway这些链接到已登录的管理员,而不仅仅是任何已登录的用户?有但根据这个我可以使用,user_passes_test但我必须在视图中使用它
我试图使用Web服务发送短信,这是webservice文档建议:
response = client.service.SendSMS( fromNum = '09999999' ,
toNum = '0666666666666',
messageContent = 'test',
messageType = 'normal',
user = 'myusername',
pass = '123456' ,
)
Run Code Online (Sandbox Code Playgroud)
公平地说他们没有python文件只有php/asp所以我已经从他们的php示例中转换了这个但是和我不同,有些人可能知道pass是python的保留关键字
所以我不能有变量名称passbecuz我得到语法错误!
有没有办法围绕这个或我应该切换到另一个Web服务?我希望我们可以将变量名称放在引号或其他内容中
php ×5
django ×3
python ×3
codeigniter ×2
android ×1
cordova ×1
curl ×1
database ×1
django-1.9 ×1
domdocument ×1
download ×1
file ×1
gd ×1
java ×1
javascript ×1
jquery ×1
mysql ×1
python-3.x ×1
resize ×1
web-services ×1