我正在网站上工作,我希望用户能够上传文件.所以我正在努力学习如何做到这一点.我研究过,它说我必须使用函数move_uploaded_file().我编写的代码就像在示例中一样(更改数据),但它不起作用.请帮助我,我是新来的.这是我到目前为止所做的:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="upload_file.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<input type="file"name="file">
<input type="submit">
</form>
</body>
<html>
Run Code Online (Sandbox Code Playgroud)
这是upload_file.php:
<!DOCTYPE html>
<html>
<head>
<head>
<body>
<?php
$move = "/Users/George/Desktop/uploads/";
echo $_FILES["file"]['name']."<br>";
echo $_FILES["file"]['tmp_name']."<br>";
echo $_FILES["file"]['size']."<br>";
echo $_FILES['file']['error']."<br>";
move_uploaded_file($_FILES['file']['name'], $move);
?>
<body>
<html>
Run Code Online (Sandbox Code Playgroud) exec命令在我的服务器上不起作用,它没有做任何事情,我已经关闭了safe_mode,并且验证了所有控制台命令都正常工作,我尝试过使用绝对路径.我已经检查了应用程序的权限以及我需要的所有应用程序都具有执行权限.我不知道还能做什么,这里是我试过的代码的简要说明.
echo exec('/usr/bin/whoami');
echo exec('whoami');
exec('whoami 2>&1',$output,$return_val);
if($return_val !== 0) {
echo 'Error<br>';
print_r($output);
}
exec('/usr/bin/whoami 2>&1',$output,$return_val);
if($return_val !== 0) {
echo 'Error<br>';
print_r($output);
}
Run Code Online (Sandbox Code Playgroud)
最后两个代码显示:
Error
Array ( )
Run Code Online (Sandbox Code Playgroud)
我已经联系了服务器服务,他们无法帮助我,他们不知道为什么exec命令不起作用.
如果我在Centos上运行这个程序为"php file.php",它显示没有输出但是php -l显示它有错误(;在EOT丢失后).在这种情况下如何启用错误报告?
<?php
ini_set('display_startup_errors',1);
ini_set('display_errors',1);
error_reporting(-1);
$str = $_POST['name'];
file_put_contents("out.txt",$str);
print <<<EOT
<html><body><h1>You've entered $str</h1></body></html>
EOT
Run Code Online (Sandbox Code Playgroud)
![在此处输入图像说明] [1]
我经历过:如何在PHP中获取有用的错误消息?
我有一个自定义joomla 2.5模板,我希望将其转换为Joomla 3.0.目前我找到的唯一方法是如何将Joomla 1.5转换为2.5.请指导我,因为我花了将近一个月的时间.我找到了一个方法http://docs.joomla.org/J3.1:Converting_A_Previous_Joomla!_Version_Template但我不明白该怎么做.如果你也可以给出一个明确的程序,如何实现我发布的链接中的步骤,这将有助于我.
我在wordpress网站上,在single.php的循环内,是一个select标签,其中的选项是通过自定义查询返回的当前类别的帖子.
在更改选定的选项时,我有很多javascript函数运行良好,但它们中的最后一个函数(function f_next-previous)似乎不起作用.
此功能的目的是更新下一个和上一个链接而不重新加载页面.
相对于我的模板中的导航链接(下一个和上一个)的代码运行良好,并在上面:
<div id="nav-above" class="navigation">
<div class="nav-previous"><?php previous_post_link( '%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/previous.png" />' ); ?></div>
<div class="nav-next"><?php next_post_link( '%link', '<img height="34" src="' . get_bloginfo("template_directory") . '/images/next.png" />' ); ?></div>
</div><!-- #nav-above -->
Run Code Online (Sandbox Code Playgroud)
这个函数的javascript代码是:
function f_next-previous(id)
{
$.ajax({
cache: true,
type: "GET",
timeout: 5000,
url: 'wp-content/themes/twentyten/pages/next-previous.php?p='+id,
success: function(msg)
{
$('#nav-above').html(msg);
},
error: function(msg)
{
alert("Your browser broke!");
return false;
}
});
}
Run Code Online (Sandbox Code Playgroud)
文件next-previous.php内容是:
<?php
$p=$_GET['p'];
require( '../../../wp-load.php' );
$my_query = …Run Code Online (Sandbox Code Playgroud) 有没有办法使用PHP重定向到同一页面.??? 我只需要重新加载或刷新gridview.我不需要重定向到网站或链接,我需要将其重定向到相同的页面或相同的形式,如main.php.
我已经使用了header(),但它对我不起作用,我看到的只是链接在网站上.
谢谢.
我对openshift和这些git,ssh编程很新.到目前为止我开发了这么多.安装PHP 5.3,MySQL 5.5,phpMyAdmin 4.0墨盒
这是我在php中的dbcon文件.基本上我需要将我的php应用程序与openshift mysql db连接.这就是我所做的.
<?php
// Database Connection Setting
$dbhost = "127.0.0.1"; // Host name
$dbport = "3308"; // Host port
$dbusername = "user"; // Mysql username
$dbpassword = "pass"; // Mysql password
$db_name = "mf"; // Database name
$mysqlCon = mysqli_connect($dbhost, $dbusername, $dbpassword, "", $dbport) or die("Error: " . mysqli_error($mysqlCon));
mysqli_select_db($mysqlCon, $db_name) or die("Error: " . mysqli_error($mysqlCon));
?>
Run Code Online (Sandbox Code Playgroud)
这给了我一个关于openshift的错误,但适用于其他php应用程序.我的错误解释没有得到任何错误:{...空格...}.
你能救我一下吗?
我尝试从Eurotours XML接口做一个例子,但所有SOAP函数调用都给了我
PHP致命错误:未捕获SoapFault异常:[HTTP]未经授权
这是我的代码:
$soapClient = new SoapClient("https://ws.eurotours.at/accommodation/development/AccommodationService?wsdl",array('trace' => true));
$functions = $soapClient -> __getFunctions();
$soapClient -> getLanguages(array("Client"=>"TESTXMLB2B"));
Run Code Online (Sandbox Code Playgroud)
它只是来自测试文档的客户端,我不知道我是否错了.
这是我的完全例外,我想知道是否真的是一个授权问题,或者只是因为我在拨打电话时犯了一个错误:
object(SoapFault)#2 (9) {
["message":protected]=>
string(12) "Unauthorized"
["string":"Exception":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(34) "/home/laurentiu/teste/testswap.php"
["line":protected]=>
int(5)
["trace":"Exception":private]=>
array(3) {
[0]=>
array(4) {
["function"]=>
string(11) "__doRequest"
["class"]=>
string(10) "SoapClient"
["type"]=>
string(2) "->"
["args"]=>
array(5) {
[0]=>
string(224) "<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws.eurotours.at/"><SOAP-ENV:Body><ns1:getLanguages/></SOAP-ENV:Body></SOAP-ENV:Envelope>
"
[1]=>
string(74) "https://ws.eurotours.at:443/accommodation/development/AccommodationService"
[2]=>
string(0) ""
[3]=>
int(1)
[4]=>
int(0)
}
}
[1]=>
array(6) { …Run Code Online (Sandbox Code Playgroud) 我已经把这个问题归结为问题并使其变得干净,以便你能更方便地帮助我.
我有一个非常简单的代码:
<?php
echo "Hello world";
?>
Run Code Online (Sandbox Code Playgroud)
这完全没问题.
如果我运行以下代码(解析错误)我没有收到任何错误,但仍显示文本"Hello world":
<?php
echo "Hello world";
piwejfoiwjefoijwef
?>
Run Code Online (Sandbox Code Playgroud)
如果我在代码之前放置解析错误但是不显示"Hello world":
<?php
piwejfoiwjefoijwef
echo "Hello world";
?>
Run Code Online (Sandbox Code Playgroud)
当我打印phpinfo(在同一个文件中,同一目录)时,我有以下设置:display_errors On display_startup_errors on error_reporting 1
如果我还尝试在脚本中设置错误报告并使用以下代码运行它,我仍然不会收到任何错误或警告但显示文本"Hello world":
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE); ini_set('display_errors', '1');
echo "Hello world";
owieufpowiejf
?>
Run Code Online (Sandbox Code Playgroud)
我的php.ini文件具有以下值(我已重新启动Apache):
error_reporting = E_ERROR & ~E_DEPRECATED
display_errors = On
display_startup_errors = On
Run Code Online (Sandbox Code Playgroud)
我在Amazon AMI上使用64位AWS EC2运行Apache/PHP/MySQL.我不熟悉服务器配置.当我转换到亚马逊服务器时,错误开始了.除了错误报告,服务器和Apache/PHP运行完美.
请指导我如何解决问题.
谢谢!
所以我要做的是拿2个字符串并创建2个文件.然后从这些文件中创建一个zip文件,让用户下载它们.
这是我有的:
$string1 = 'Some data some data some data';
$string2 = 'Some data some data some data';
$zip = new ZipArchive();
$filename = "test.zip";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}
$zip->addFromString("string1.txt", $string1);
$zip->addFromString("string2.txt", $string2);
$zip->close();
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$filename."\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize('test.zip'));
Run Code Online (Sandbox Code Playgroud)
到目前为止没有运气.任何帮助表示赞赏.