- ベストアンサー
画像のアップロード
はじめまして。本を参考にphp4.3.11&MYSQLによる画像のアップロードについて勉強中の初心者です。 開発はレンタルサーバーで行っています。 画像のアップロードに関して下記プログラムを設定しているのですが、 エラーが表示されて画像のアップロードができません。 ■設定したitem2.php 内のソースです。 require( '../config.php' ); // 写真アップロード $path_parts = pathinfo( $_FILES['userfile']['name'] ); $uploadfile = $item_image_dir . $item_id . '.' . strtolower( $path_parts['extension'] ); if ( move_uploaded_file( $_FILES['userfile']['tmp_name'], $uploadfile ) ) { chmod( $uploadfile, 0777 ); $sql = "update item set image_url ='" . $item_image_url . $item_id . '.' . strtolower( $path_parts['extension'] ) . "' where item_id = '$item_id'"; $result = mysql_query( $sql ); } ■外部参照している../config.php 内の記述です。 $item_image_dir = '/var/www/****/htdocs/image/item/'; $item_image_url = '/image/item/'; ▼エラー内容です。 Warning: move_uploaded_file(home/****/public_html/image/item/0.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/****/public_html/admin/item2.php on line 68 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpov0Fqr' to 'home/****/public_html/image/item/0.gif' in /home/****/public_html/admin/item2.php on line 68 image/itemのパラメータは777に設定しております。 どなたか原因お分かりになられる方がいらっしゃったらどうかお教え ください。ご不明な点などございましたら是非ご指摘ください。 どうぞよろしくお願いいたします。
- みんなの回答 (7)
- 専門家の回答
お礼
お返事いただきまして誠にありがとうございます! $path_parts=$_FILES['userfile']['name'] ); $uploadfile = preg_replace('/^(.*)(\.\w+)$/', "{$item_id}\$2", $path_parts); 上記で設定しましたところ、先述しましたエラーが表示されて しまいます。 > $item_idは、定義済みですよね? item_idはauto_incrementで自動で割り振られるIDになります。 1,2,3,4・・・と自動で割り振られます。 なぜエラーになってしまうのでしょうか。 その他こちらからご提示すべき情報ございましたら是非 ご連絡ください。どうかよろしくお願いいたします。