私はここ数日、このサイトをよく見て回りましたが、私と同じように PHP の初心者にとって役立つヒントをたくさん見つけました (これで 2 日目です :) )。このスクリプトを終了します。
私は何を持っていますか: Mysql 内にこのテーブルがあります:
------------------------------![Sql Tabels][1]
----------------------
スクリプトは、「寸法」フィールドが空のテーブル行をいくつか取得する必要があります。スクリプトは、画像サイズを見つけて、幅x高さIS NULL
の
形式で吐き出す必要があります。幅と高さの間の x が重要です。
画像を取得しない場合は、そのまま通り過ぎて次の画像を取得する必要があります。
完了したら: 画像サイズを取得し、DB の「寸法」フィールドを更新しました。
私のコードのソース: 画像のサイズを決定してから、データベースに選択的に挿入する方法は? php
MySql フィールドを更新します (フィールドが空でない場合は、次のフィールドに進みます)
http://dk1.php.net/manual/en/function.getimagesize.php
PHP自体
<pre><code>
<?php
# first we check, if gd is loaded and supports all needed imagetypes
function gd_get_info() {
if (extension_loaded('gd') and
imagetypes() & IMG_PNG and
imagetypes() & IMG_GIF and
imagetypes() & IMG_JPG and
imagetypes() & IMG_WBMP) {
return true;
} else {
return false;
}
}
$username = "";
$password = "";
$database = "";
$db_hostname = "";
mysql_connect("$db_hostname","$username","$password") or die(mysql_error());
mysql_select_db("$database") or die(mysql_error());
//check if the starting row variable was passed in the URL or not
if (!isset($_GET['startrow']) or !is_numeric($_GET['startrow'])) {
//we give the value of the starting row to 0 because nothing was found in URL
$startrow = 0;
//otherwise we take the value from the URL
} else {
$startrow = (int)$_GET['startrow'];
}
// Retrieve all the data from the "example" table
$result = mysql_query("SELECT * FROM tx_gallery_previews WHERE dimensions IS NULL ORDER BY gallery_id ASC LIMIT $startrow, 10") or die(mysql_error());
// store the record of the "example" table into $row
while($row = mysql_fetch_array($result)){
//$row = mysql_fetch_array($result))
$pid = $row['preview_id'];
$gid = $row['gallery_id'];
$imgfile = $row['preview_url'];
$dimens = $row['dimensions'];
/*
echo $row['gallery_id'];
echo $row['preview_url']. "\r\n<br />"; */
extract($row);
//print $pid. " ".$imgfile." ";
//print "".$dimens."<br />";
$blah = getimagesize("$imgfile");
$type = $blah['mime'];
$width = $blah[0];
$height = $blah[1];
if (isset($width)) {
echo $pid. " ".$imgfile." ".$width. "x".$height. "\n"."<br />";
mysql_query("UPDATE into tx_gallery_previews (preview_id,gallery_id,preview_url,dimensions) VALUES ($pid,$gid,$imgfile,$width."x".$height)
ON DUPLICATE KEY UPDATE dimensions=VALUES('"$width."x".$height"')");
}
else{ echo "$pid <img src=\"$imgfile\" width=\"90\">Image not found"."<br />"; }
}
// close connection
mysql_close($connection);
$prev = $startrow - 10;
//only print a "Previous" link if a "Next" was clicked
if ($prev >= 0)
echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.$prev.'">Previous</a> ';
//now this is the link..
echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.($startrow+10).'">Next</a>';
?>
</pre></code>
見たが 動か なかった私のスクリプトの正しいアイデア。
XXXXXXXXXXXXXXXXXX このトピックに回答する場合は、どの部分が何をしているのかを説明してください。
よろしくお願いします
ヨアキム