Ⅰ php文件上传,提示移动文件失败
php文件上传,提示移动文件失败,基本是上传保存的目录不可写造成的,需要好好设置一下,下面是一个PHP文件上传的简单例子,仅作参考:
<formaction=""enctype="multipart/form-data"method="post"
name="uploadfile">上传文件:<inputtype="file"name="upfile"/><br>
<inputtype="submit"value="上传"/></form>
<?php
//print_r($_FILES["upfile"]);
if(is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
//获取数组里面的值
$name=$upfile["name"];//上传文件的文件名
$type=$upfile["type"];//上传文件的类型
$size=$upfile["size"];//上传文件的扰塌基大小
$tmp_name=$upfile["tmp_name"];//上传文件的临时存放路径
//判断是否为图片
switch($type){
case'image/pjpeg':$okType=true;
break;
case'image/jpeg':$okType=true;
break;
case'image/gif':$okType=true;
break;
case'image/png':$okType=true;
break;
}
if($okType){
/**
*0:文件上传成功<br/>
*1:超过了文件大小,在php.ini文件中设置<br/>
*2:超过了文件的大小MAX_FILE_SIZE选项指定的值<br/>
*3:文件只有部分被上传<br/>
*4:没有文件被上传<br/>
*5:上传文件大小为0
*/
$error=$upfile["error"];//上传后系统返回的值
echo"================<br/>";
echo"上传文件名称是:".$name."<br/>";
echo"上传文件类型是:".$type."<br/>";
echo"上传文件大小是:".$size."<br/>";
echo"上传后系统返回的值是:".$error."<br/>";
echo"上传文件的临时存放路径是:".$tmp_name."<br/>";
echo缓谨"开始移动上传文件<br/>";
//把上传的临时文件移动到up目录下面
move_uploaded_file($tmp_name,'up/'.$name);
$destination="up/".$name;
echo"================<br/>";
echo"上传信息:<br/>";
if($error==0){
echo"文件上传成功啦!";
echo"<br>图片预览:<br>";
echo"<imgsrc=".$destination.">";
//echo"alt="图片预览: 文件名:".$destination." 上传时间:">";
}elseif($error==1){
echo"超衫余过了文件大小,在php.ini文件中设置";
}elseif($error==2){
echo"超过了文件的大小MAX_FILE_SIZE选项指定的值";
}elseif($error==3){
echo"文件只有部分被上传";
}elseif($error==4){
echo"没有文件被上传";
}else{
echo"上传文件大小为0";
}
}else{
echo"请上传jpg,gif,png等格式的图片!";
}
}
?>
Ⅱ PHP文件上传中文乱码问题,以下为代码
说的是文件名乱码么?
凡中文这样转化一下
iconv("GB2312","UTF-8",$_FILES["file"]["name"] );
Ⅲ php写了个上传文件的代码,报如下错误:Notice: Undefined variable: FILES in D:哪位大神帮我看下
$hz=array_pop(explode(".",$FILES['myfile']['name'])); //这里凯扮$FILES['myfile']['name']
$FILES['myfile']['name'] 这种表示是一个php的二维数组 没有这个数坦丛组让孙樱当然就报错啦 码代码注意下就好了
Ⅳ php上传文件提示content-type error
上传文件是有类型限制的,你传的是什么,就给文件指定一个类型,相匹配就好了。除了这个,还会有大小的限制,具体的你可以看下文档
Ⅳ php 文件上传哪里错了
Warning: date(): 这个需要代码中设置时区
date_default_timezone_set("PRC")
Warning: mkdir(): 凳搭穗枣卜文件已经存在了 使用:
file_exists()
Notice: Undefined variable: FILES 全局的文件变枝侍量写错了:
$_FILES
Warning: move_uploaded_file(): The second argument to () function cannot be a directory 不能是个目录,需要是个文件
Ⅵ php上传文件错误怎么解决
<html>
<body>
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
Choose a file to upload: <input name="uploaded_file" type="file" />
<input type="submit" value="Upload" />
</form>
</body>
</html>
有一些规则需要建设时遵循HTML表单。首先,请确保该窗体使用POST方法。第二,形
式需要以下属性:字符编码=“多重/表单数据”。它指定的内容类型时使用的信息提
交给服务器。如果没有这些要求,您的文件上传不了。
另一个需要注意的是隐藏的表单字段名为MAX_FILE_SIZE设置的值。某些Web浏览器实
际上反映了这个领域,也不会允许用户上载文件超过这个数字(字节)更大。您应该
将此值设置为配合最大上传大小,在php.ini文件中设置。这是一套与中
upload_max_filesize,默认值是2MB的。但它仍然不能保证你的脚本将不会转交了尺
寸较大的文件。危险的是,攻击者将尝试向您发送一个请求几个大文件,并填写了文
件系统,也就是PHP存储解码文件。设置在php.ini的post_max_size的指令文件的最大
尺寸,你要(必须大于中upload_max_filesize)。默认值为10MB的。此指令控制的所
有要求,在一个允许的POST数据最大大小。另外,还要确保在你的php.ini文件
file_uploads设置为On。
至少,有一个在输入标记属性看:类型=“文件”。它是用来指定为文件选择控制输入
元素。这提供了一个文件的URI的地方,则需要键入一个“浏览”按钮,可作为替代的
URI输入使用。
在用户进入一个文件的URI,并点击提交按钮的文件的副本将被发送到服务器和用户将
被重定向到upload.php。此PHP文件将处理表单数据。
返回页首
处理表单数据(PHP代码)
当文件被上传和PHP创建了一个文件的临时副本,并建立了超全局变量$ _FILES数组,
包含有关文件的信息。对于每个文件,有5个数据。我们已上传字段命名
为'uploaded_file',所以会存在以下数据:
变量$ _FILES [“uploaded_file”] [“name”]从用户的机器上载的文件的原名称
变量$ _FILES [“uploaded_file”] [“type”]的上传文件的MIME类型(如果浏览器
提供的类型)
变量$ _FILES [“uploaded_file”] [“size”]的以字节为单位上传的文件大小
变量$ _FILES [“uploaded_file”] [“tmp_name”],在该文件暂时存储在服务器上
的位置
变量$ _FILES [“uploaded_file”] [“error”]错误代码从文件上传结果
下面的例子接受一个上传的文件并保存在上载目录中。它允许根据350Kb上传只有JPEG
图像。该代码本身,是相当清楚的,但我们会作出一些解释。有一个例子在外观和保
存此为upload.php PHP代码。
<?php
//Сheck that we have a file
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error']
== 0)) {
//Check if the file is JPEG image and it's size is less than 350Kb
$filename = basename($_FILES['uploaded_file']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);
if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg")
&&
($_FILES["uploaded_file"]["size"] < 350000)) {
//Determine the path to which we want to save this file
$newname = dirname(__FILE__).'/upload/'.$filename;
//Check if the file with the same name is already exists on the
server
if (!file_exists($newname)) {
//Attempt to move the uploaded file to it's new place
if ((move_uploaded_file($_FILES['uploaded_file']
['tmp_name'],$newname))) {
echo "It's done! The file has been saved as: ".$newname;
} else {
echo "Error: A problem occurred ring file upload!";
}
} else {
echo "Error: File ".$_FILES["uploaded_file"]["name"]." already
exists";
}
} else {
echo "Error: Only .jpg images under 350Kb are accepted for upload";
}
} else {
echo "Error: No file uploaded";
}
?>
在此之前的上载您需要的文件,以确定文件是否真的上传任何东西。之后我们检查上
传的文件,JPEG图像,其大小小于350Kb的。接下来,我们确定的道路,这是我们要保
存此文件,并检查是否已经存在一个服务器上的这些文件的名称。当所有检查通过,
我们将文件复制到一个永久的位置使用move_upload_file()函数。此功能也证实该
文件你要过程,是一个合法的文件从用户上传结果。如果该文件上传成功,那么相应
的消息将出现。
注意:要确保PHP已经允许读取和写入临时文件中保存的位置是您要复制文件的目录。
这个例子其实很简单,它的提出是为了演示如何使用PHP上传文件。例如,您可以添加
新的条件,并允许上传GIF和PNG图像,或任何文件,您需要其他种类。如果您是本教
程使用PHP不熟悉可能是一个很好的起点。
Ⅶ thinkphp5上传文件方法不存在
thinkphp5上孝旅皮传文镇此件方法不存在是代码错误的原因。在move复制文件前,对文件名进去中文转码,转换成巧差gb2312,复制完成,转换回utf-8即可。
Ⅷ 求以下php代码错误 文件无法上传
$uploadRoot='./uploads/闹告';设置上传迹野目录 -> $uploadRoot='./uploads/';//设置上传目录
print_r<$_FILES[>; -> print_r($_FILES);
echo"<img src="'.$fileSaved.'">"; ->液州明 echo"<img src='" . $fileSaved . "'>";
Ⅸ php上传文件,我想知道我的代码哪里错了,怎么改
经代码测试(原文复制、粘贴),测试代码结果正常:
访问页面:
从错误提示来看:
Object not found! 通常是判配出现在有 类 相关代码中才会再现,但在你的代运冲者码貌似没有牵涉到。
The requested URL was not found on this server.
这个错误是 请求的 URL 在服务器上没找到,建议你检查下upload_file.php 在服务器上旁薯的路径以及文件名是否正确。
Ⅹ php不能上传文件,[error] => 2
从 PHP 4.2.0 开始,PHP 将随文件信息数和段燃组一起返回一个对应的错误代码。该代码可以在文件上传时生成的文件数组中的 ['error'] 字段中被找到,也就是 $_FILES['userfile']['error']。
UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
注: 这些在 PHP 4.3.0 之后变成了 PHP 常量。
************************************************************************************************************************************
按这上面说的你上传的文件太大了.所以你在程序里最好加个对$_FILES['userfile']['error']的判断然后给操作者一个提示.还有最好也对文燃慧件的类型进行限制,要不然也唤虚对服务器造成不必要的麻烦上传的文件类型在$_FILES['userfile']['type']里.
************************************************************************************************************************************