簡體   English   中英

圖片上傳表單適用於某些人,但不適用於其他人嗎?

[英]Image upload form works for some but not others?

我有一個很棒的圖片上傳表格! 對我來說...似乎幾乎每個人都會出錯! 這到底是怎么回事? (我知道我的程序草率,我不是在找批評,只是快速解決!請幫助。)

形成:

<form enctype="multipart/form-data" action="imgupload.php" method="POST">
Image upload:
<input name="uploadedfile" type="file" />
<input type="submit" value="Upload" />
</form>

表單處理程序:

<?php

if (($_FILES["uploadedfile"]["type"] == "image/jpeg")
&& ($_FILES["uploadedfile"]["size"] < 4000000))
{


  // Where the file is going to be placed 
  $target_path = "/images/";


  /* Add the original filename to our target path.  
  Result is "images/filename.extension" */

//////////RENAME FILE/////////////


$filetype = pathinfo($_FILES['uploadedfile']['name'], PATHINFO_EXTENSION);  
$oldtitle =  $_FILES["uploadedfile"]["name"];
$take_file_extension = substr($oldtitle, 0, strrpos($oldtitle, '.'));
$title = "jeep_".$take_file_extension.".".$filetype;


  $target_path = $target_path . $title;


if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {

  echo "The picture ".  basename( $_FILES['uploadedfile']['name']). 
  " has been uploaded<br><br>----------------<br><br>";

  echo "Upload: " . $_FILES["uploadedfile"]["name"] . "<br>";
  echo "Size: " . ($_FILES["uploadedfile"]["size"] / 1024) . " Kb<br>";

    }
}



else
{
    echo "There is a file size limit of 1MB. Only JPG's can be uploaded!";
}
?>

每次都能為我工作,其他人都會得到“文件大小限制為1MB。只能上傳JPG!” 錯誤。

即使您的代碼設置為接受最大4MB的圖像,您也必須通過編輯一些php.ini設置的值來告訴PHP允許這種大小的圖像:

您之所以只能上傳.jpg圖片,是因為您的條件僅限於.jpg:

if (($_FILES["uploadedfile"]["type"] == "image/jpeg")

嘗試切換:

switch ($_FILES["uploadedfile"]["type"]) {

    case 'image/jpeg':
    case 'image/png':
        break;

    default:
        throw new Exception('Invalid image type');
}

我想知道這是否是您在php.ini中的max_execution_time。 嘗試更改為30以上。

http://www.php.net/manual/zh/info.configuration.php#ini.max-execution-time

較慢的(較低的帶寬)連接可能需要較長的時間才能上傳較大的圖像,導致其出錯,因此連接速度可能更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM