Почему "<image_link>" отображается в поле таблицы базы данных без вставки? - PullRequest
0 голосов
/ 28 июня 2009

Я только что загрузил изображение в imageshack, используя их API, и я пытаюсь сохранить путь к этому изображению, который я получаю из imageshack.

$mgr->setUploadUrl('http://www.imageshack.us/index.php');

$fileImagePath = $row['cr_path'];

echo $fileImagePath.'<br><br>';

$res =  $mgr->upload($row['cr_path'], 'image/jpeg', 'avaojo');

$newImagePath = explode(' ', $res);

$shackPath = trim($newImagePath[6]);

echo '>>>'.$shackPath.'<<<';
//Outputs >>>http://img194.imageshack.us/img194/5038/9444679.jpg<<<

$sql = "UPDATE avatar SET image_path = '$shackPath' WHERE avatar_id =".$row['cr_id'];

Однако, когда я просматриваю свою базу данных MySQL, она оборачивается вокруг строки URL с тегами <image_link></image_link>?

Что, черт возьми, происходит? Я посмотрел везде, и в моем скрипте ничего не сбрасывает переменную $ shackPath. Фактически, вставка и усечение $ newImagePath находятся всего в 3 строках, и между ними ничего не происходит!

Спасибо всем

1 Ответ

4 голосов
/ 28 июня 2009

Это потому, что $ shackPath также содержит теги <image_link>. Единственная причина, по которой вы не видите его, когда вы видите его, заключается в том, что ваш браузер считает, что это недопустимый тег HTML, поэтому он просто игнорирует его. Если вы просматриваете источник, вы должны увидеть там теги <image_link>.

Чтобы это исправить, выполните:

$shackPath = strip_tags(trim($newImagePath[6]));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...