2013-03-16 109 views
-1

感謝您抽出時間。像許多其他人一樣,我是PHP的新手。在這個腳本的第一部分(注意//作品)我已經從文件中加載了一些名字到一個URL中以顯示我想要的圖像。這樣可行。現在我需要幫助調整大小和自動裁剪所有這些圖片。請看看這個腳本,看看你是否看到我應該做的不同。在腳本中調整大小/裁剪幾張圖像

<?php 
    $file = 'serverlist.txt'; // works 
    $servers = ''; // works 
    $imgheight = 200; // ?? 
    $imgwidth = 200; // ?? 
    if ($handle = fopen($file, 'r')) { // works 
    while (!feof($handle)) { // works 
     $content = trim(fgets($handle)); // works 
     $names = explode(' ', $content); // works 
     foreach ($names as $name) { // works 
     $servers .= '<img src="http://minecraft.net/skin/' . $name. '.png" alt="">'; //works. 
     } 
     foreach ($servers as $imgservers) { // ? 
     $skin = imagecreatefrompng($imgservers); // ? 
     $face = imagecreatetruecolor($width, $height); // ? 
     imagecopyresized($face, $skin, 0, 0, 8, 8, $width, $height, 8, 8); // ? 
     imagecopyresized($face, $skin, 0, 0, 40, 8, $width, $height, 8, 8); // ? 
     } 

    } 
    fclose($handle); // works 
    } 
?> 

<html> 
<head> 
</head> 
<body> 
<?php 
imagepng($face); // ? 
?> 
</body> 
</html> 

回答

1

$servers是附加在一起的所有圖像的長字符串。您需要分開每個圖像並在輸出之前單獨處理它。

編輯: 閱讀文件時,您可以保存所有修改後的圖像。然後在你的身體中,輸出所有的圖像:

$file = 'serverlist.txt'; 
$images = array(); 
... 
    foreach ($names as $name) { 
     $url = 'http://minecraft.net/skin/' . $name. '.png'; 
     $skin = imagecreatefrompng($url); 
     ... 
     imagecopyresized($face, $skin, 0, 0, 40, 8, $width, $height, 8, 8); 
     $images[] = $face; 
    } 
... 

</head> 
<body> 
    <?php 
    foreach ($images as $image) { 
     imagepng($image); 
    } 
    ?> 
</body> 
+0

所以我應該做'foreach'裏面'如果'與'$服務器'? – user2176480 2013-03-16 21:15:31

+0

查看['imagepng()'](http://www.php.net/manual/en/function.imagepng.php)的文檔。它「將PNG圖像輸出到瀏覽器或文件」。您需要等待調用'imagepng()',直到您獲得''標籤。 – Aiias 2013-03-16 21:21:08

+0

我更新了代碼。仍然不給我我期待的結果。我做了另一個foreach,我不知道如果我應該。 – user2176480 2013-03-16 21:33:11

0

你應該有你的路徑PNG的不是Html標籤。所以你必須改變$服務器

+0

'imagecopyresized'將不起作用,如果我使用它創建一個網址的img?圖像將根據txt文件中的名稱生成。我無法控制擁有圖片的頁面(數百萬頁)。 – user2176480 2013-03-16 21:18:25