2013-07-23 2 views
0

Может кто-нибудь сказать мне, почему мой сценарий не будет загружать файлы изображений. Кроме того, существует ли ограничение по размеру файла?Изображение не будет загружено PHP

В основном, как это работает, каждый раз, когда изображение загружается, сценарий должен изменять максимальный размер, проблема в том, что когда я пытаюсь загрузить какое-либо изображение, выражение if, похоже, терпит неудачу, и оно просто переходит к другому ,

Первая часть является PHP:

if (isset($_FILES['image']['name'])) { 

$title = sanitizeString($_POST['title']); 
$title = nl2br($title); 
$saveto = str_replace(" ", "", $title); 
$saveto = str_replace("'", "", $saveto); 
$saveto = "blogImages/$saveto.jpg"; 
if (move_uploaded_file($_FILES['image']['tmp_name'], $saveto)) { 
    echo "You Have Succesfully Uploaded an Image!"; 
    $typeok = true; 

    switch($_FILES['image']['type']) 
     { 
      case "image/gif": $src = imagecreatefromgif($saveto); break; 
      case "image/jpeg": // Both regular and progressive jpegs 
      case "image/pjpeg": $src = imagecreatefromjpeg($saveto); break; 
      case "image/png": $src = imagecreatefrompng($saveto); break; 
      default:   $typeok = FALSE; break; 
     } 

    if ($typeok) 
      { 
       list($w, $h) = getimagesize($saveto); 

       $max = 800; 
       $tw = $w; 
       $th = $h; 

       if ($w > $h && $max < $w) 
       { 
        $th = $max/$w * $h; 
        $tw = $max; 
       } 
       elseif ($h > $w && $max < $h) 
       { 
        $tw = $max/$h * $w; 
        $th = $max; 
       } 
       elseif ($max < $w) 
       { 
        $tw = $th = $max; 
       } 

       $tmp = imagecreatetruecolor($tw, $th); 
       imagecopyresampled($tmp, $src, 0, 0, 0, 0, $tw, $th, $w, $h); 
       imageconvolution($tmp, array(array(-1, -1, -1), 
        array(-1, 16, -1), array(-1, -1, -1)), 8, 0); 
       imagejpeg($tmp, $saveto); 
       imagedestroy($tmp); 
       imagedestroy($src); 
       } 

} else { 
    echo "You have not uploaded an Image"; 
} 

Это HTML:

<body> 
<form id = 'blogPostInput' method='post' action = 'inputBlog.php'  enctype='multipart/form-data'> 
<h3> Enter or Edit a Blog </h3> 
<br/> 
Blog Post Title: 
<br/> 
<input type='text' value='' name='title' maxlength='64'/> 
<br/> 
Enter an Image or Video URL 
<br/> 
<input type='text' value='' name='video' maxlength = '128'/> 
<br/> 
<input type='file' name='image' maxlength='150' /> 
Enter the Blog Post's Text 
<br/> 
<textarea name='blogPostContent' cols='100' rows='5'></textarea> 
<br/> 
<input type='hidden' id='timeStamp' name='timeStamp' maxlength = '64'/> 
<br/> 
<input type='submit' value= 'Save Blog Post'/> 
</form> 

</body> 
+0

Каков максимальный размер файла, установленный для: см. Http://stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size для получения более подробной информации. –

+0

Что произошло, когда вы отлаживали его? – noj

+0

Действительно ли вы намерены использовать относительный путь для того, где вы пишете загруженные файлы? У пользователя сценария есть разрешения на этот каталог? –

ответ

1

Вы должны убедиться, что относительный путь к файлу используется точек для правильного предполагаемого местоположения, а также проверить пользователь, под которым выполняется этот сценарий, имеет соответствующие права на запись в каталог.

+0

Как я уже сказал, (' + 1') здесь Майк, путь. –

Смежные вопросы